【发布时间】:2020-03-06 14:25:40
【问题描述】:
我正在设置云构建触发器,如何正确设置节点版本?这就是我得到的:
已经有图片(带摘要):gcr.io/cloud-builders/yarn 纱线安装 v1.9.4 info 未找到锁定文件。 发现警告 package-lock.json。您的项目包含生成的锁定文件 使用 Yarn 以外的工具。建议不要按顺序混合包管理器 避免锁文件不同步导致的分辨率不一致。到 清除此警告,删除 package-lock.json。 [1/5] 正在验证 package.json... 错误函数@:引擎“节点”与此模块不兼容。 预期版本“10”。 错误发现不兼容的模块 信息 访问https://yarnpkg.com/en/docs/cli/install 获取有关文档 这个命令。
package.json:
"engines": {
"node": "10"
}
.yaml 是:
steps:
- name: 'gcr.io/cloud-builders/yarn'
args: ['install']
dir: 'functions/autodeploy'
- name: 'gcr.io/cloud-builders/npm'
args: ['test']
dir: 'functions/autodeploy'
- name: 'gcr.io/cloud-builders/gcloud'
args: ['functions', 'deploy', 'someName', '--trigger-topic',
'some.topic.name', '--runtime', 'nodejs10']
dir: 'functions/autodeploy'
【问题讨论】:
-
如果您按照警告的建议删除 package-lock.json 会发生什么?
-
@JoachimIsaksson 我已经删除了 package-lock.json 并且它在做同样的事情。
-
我尝试重现您的场景并通过在您的
app.yaml中使用yarn参数--ignore-engines来消除此错误。另外(我认为这并不重要,但无论如何)用>=10替换你的package.json节点版本10。 -
@JoachimIsaksson 我已经尝试过使用参数忽略引擎,但我依赖于 nodejs,所以我需要它。另外我也试过 >=10 并且出现同样的错误-------->>>>已经有图像(带摘要):gcr.io/cloud-builders/yarn yarn install v1.9.4 info No lockfile found。 [1/5] 验证 package.json...错误函数@:引擎“节点”与此模块不兼容。预期版本“>=10”。错误发现不兼容的模块信息访问yarnpkg.com/en/docs/cli/install获取有关此命令的文档。
-
添加标志
--ignore-engines并不意味着您的nodejs依赖将被忽略,它只会ignore engine checks。
标签: node.js yaml continuous-deployment google-cloud-build google-cloud-repository