请问函数式计算部署midway时按照官网的命令设置,但是为什么deploy.sh运行时node的版本时10的?
然后报错
在函数计算中,默认的Node.js版本是10。这是因为阿里云函数计算服务在设计和实现时,选择了Node.js 10作为其默认的Node.js版本。如果你想使用其他版本的Node.js,你需要在部署函数时,明确指定你想要的Node.js版本。
你可以在部署函数时,通过--runtime
参数来指定你想要的Node.js版本。例如,如果你想使用Node.js 12,你可以这样部署你的函数:
fc-deploy --runtime Nodejs12 --region your_region --service your_service --function your_function --code ./your_code_dir
其中,your_region
是你的地域,your_service
是你的服务名称,your_function
是你的函数名称,your_code_dir
是你的代码目录。
请注意,不同的Node.js版本可能会有不同的特性和支持,所以在选择Node.js版本时,你需要考虑到这一点。
在部署Midway应用到函数计算时,如果发现运行deploy.sh
脚本时Node.js的版本是10,这可能是因为您正在使用的默认或全局Node.js版本是10。为了确保使用正确的Node.js版本,您可以尝试以下方法:
deploy.sh
脚本中明确设置要使用的Node.js版本。例如,可以添加一行 nvm use <desired_node_version>
(假设您已安装了NVM)来切换到所需的Node.js版本。nvm
或其他工具(如 n
或 fnm
)创建一个新的 Node.js 虚拟环境,并将其激活。然后,在这个环境中执行 deploy.sh
脚本。Midway的示例demo是自定义运行时的,您直接按照这个部署修改就可以了
https://www.devsapp.cn/details.html?name=start-midway-koa。此回答整理自钉群:阿里函数计算官网客户。
这是你使用的 Node.js 版本与您本地安装的版本不一样吧。
参考下:
Midway 是阿里巴巴 - 淘宝前端架构团队,基于渐进式理念研发的 Node.js 框架。
Midway 基于 TypeScript 开发,结合了面向对象(OOP + Class + IoC)与函数式(FP + Function + Hooks)两种编程范式,并在此之上支持了 Web / 全栈 / 微服务 / RPC / Socket / Serverless 等多种场景,致力于为用户提供简单、易用、可靠的 Node.js 服务端研发体验。本应用是将一个midway koaServerless-Devs 通过应用部署到函数计算FChttps://gitee.com/devsapp/start-web-framework/tree/master/web-framework/nodejs/midway-koa
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。