【问题标题】:google cloud build - functions@: The engine "node" is incompatible with this module. Expected version "10"google cloud build - functions@:引擎“节点”与此模块不兼容。预期版本“10”
【发布时间】: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


【解决方案1】:

我遇到了同样的错误,删除文件 yarn.lock 解决了问题

【讨论】:

    【解决方案2】:

    解决方案实现在cmets内部讨论,总结问题是如何解决的:

    • app.yaml 中使用yarn 参数--ignore-engines
    • 在构建 yaml 文件步骤中指定节点版本,因此它看起来像这样:

      steps:
      - name: 'gcr.io/cloud-builders/yarn:node-10.10.0'
        args: ['install', '--ignore-engines']
        dir: 'functions/autodeploy'
      
      - name: 'gcr.io/cloud-builders/npm:node-10.10.0'
        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'
      

    【讨论】:

      猜你喜欢
      • 2018-04-10
      • 2021-11-26
      • 1970-01-01
      • 2021-05-31
      • 2019-10-30
      • 1970-01-01
      • 2020-06-29
      • 2022-10-07
      相关资源
      最近更新 更多