请问一下,我每次部署的时候环境都会被重置到第一个环境 默认的是node12 这样的话就跑不起来,有没[阿里云函数计算]

请问一下,我每次部署的时候环境都会被重置到第一个环境 默认的是node12 这样的话就跑不起来,有没有办法修改哪里的配置 可以把环境固定住。

我用的应用中心 参照了https://help.aliyun.com/document_detail/132044.html?spm=5176.fcnext.0.0.431878c8S3Ehui#p-x11-e4f-0yr 添加了node16 但是 报错 {“ErrorCode”:”CAFilePermission”,”ErrorMessage”:”Function instance exited unexpectedly(code 13, message:permission denied) with start command ‘/code/node-v16.20.0-darwin-x64/bin/node index.js’.
Logs:”} 又没权限

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
4 条回复 A 作者 M 管理员
  1. 根据您提供的截图,您是在阿里云函数计算的应用中心中部署函数,而不是通过代码部署函数。在这种情况下,您可以尝试在函数配置中设置环境变量,以便在每次部署时保持环境设置不变。具体步骤如下:

    登录阿里云函数计算控制台,选择您要修改的函数。 在函数配置页面中,找到“环境变量”选项,并单击“添加环境变量”按钮。 在弹出的对话框中,输入您要设置的环境变量名称和值,然后单击“确定”按钮。 重复以上步骤,添加所有需要的环境变量。 单击“保存”按钮保存更改。 另外,根据您提供的报错信息,可能是由于您的函数代码没有足够的权限来执行某些操作,例如访问文件系统或网络资源。您可以尝试通过为函数配置适当的权限策略来解决此问题。您可以在阿里云函数计算控制台中为函数配置权限策略,以便它可以访问所需的资源和服务。

  2. 直接这里选 ,然后导出配置参考一下就ok

    此答案来自钉钉群“阿里函数计算官网客户”

  3. 【回答】 可能是因为默认会使用一个空白的环境,每次重新部署时都会清空之前的环境,因此需要设置阿里云函数计算的环境变量。

    首先,您可以在阿里云函数计算的代码根目录中创建一个名为 .env 的文件,然后在文件中添加以下内容:

    FC_RUNTIME=nodejs12

    这将设置阿里云函数计算的运行时环境为 Node.js 12。还可以将 nodejs12 替换为其他版本号来设置不同的运行时环境。

    另外,阿里云函数计算还支持通过控制台或 API 来设置环境变量,可以在控制台中找到您的函数并在左侧的菜单中选择“配置”,然后找到“环境变量”选项卡。在这里,可以添加、编辑或删除环境变量。

    通过以上方法设置阿里云函数计算的环境变量后,环境将被固定住,部署时不会被重置。

  4. 从你提供的截图来看,你使用的是应用部署的控制台界面。在应用部署的控制台中,你可以选择部署环境,可以选择 Nodejs 12.X 和 Nodejs 14.X 两种环境进行部署。

    如果你要将部署环境固定在某个特定版本的 Node.js 上,则可以在代码仓库中包含一个 .env 文件,通过设置 FC_RUNTIME 的值来指定所需的 Node.js 版本。例如,设置 FC_RUNTIME=nodejs14,则部署的环境将固定为 Node.js 14.x 版本。

    关于你使用应用中心的部署报错问题,在你添加了 Node.js 16 环境后,可能出现了权限问题。你可以检查一下你的代码是否包含了不该包含的文件,或者尝试将 node_modules 文件夹删除再重新安装依赖试试。