将@cloudbase/functions-framework安装到层中,http函数无法启动#870
my-env-2g5y571214a4b446
这种启动脚本类的包,不能放到层中吗?我不想把把包放到代码中,也不想在线安装依赖 报错: Cannot find module '/var/user/node_modules/@cloudbase/functions-framework/bin/tcb-ff.js' 也没有文档做说明,有没有知道的
@tencent/cloud/cloudbase/community(小T) 看下这个问题
小T
@haroldhu(胡明) 你好,感谢反馈这个问题,我查看了下情况。
这个报错 Cannot find module /var/user/node_modules/@cloudbase/functions-framework/bin/tcb-ff.js 是因为:
Cannot find module /var/user/node_modules/@cloudbase/functions-framework/bin/tcb-ff.js
当使用 云函数层(Layer) 安装依赖时,层的 node_modules 挂载路径为 /opt/nodejs/node_modules/,而云函数自身的代码和依赖位于 /var/user/ 下。
node_modules
/opt/nodejs/node_modules/
/var/user/
CloudBase 控制台在配置 HTTP 函数入口时,默认将启动脚本路径硬编码为 /var/user/node_modules/@cloudbase/functions-framework/bin/tcb-ff.js,因此当 @cloudbase/functions-framework 仅安装在层中时,会找不到该模块。
/var/user/node_modules/@cloudbase/functions-framework/bin/tcb-ff.js
@cloudbase/functions-framework
@cloudbase/functions-framework 这类包含启动入口(bin)的包,目前不支持仅通过层安装来使用。 原因是入口路径解析依赖 /var/user/node_modules/ 的固定路径。
/var/user/node_modules/
package.json
后续我们会评估优化层对 bin 类型包的支持,感谢反馈!如有其他问题随时沟通 😊
云开发环境ID
my-env-2g5y571214a4b446
问题描述
这种启动脚本类的包,不能放到层中吗?我不想把把包放到代码中,也不想在线安装依赖
报错: Cannot find module '/var/user/node_modules/@cloudbase/functions-framework/bin/tcb-ff.js'
也没有文档做说明,有没有知道的