【问题标题】:/bin/sh: 1: gcloud: not found/bin/sh: 1: gcloud: 未找到
【发布时间】:2019-05-15 00:03:47
【问题描述】:

我的 NodeJS 服务在 Cloud App Engine 上运行。从这个 NodeJS 服务,我想执行 gcloud 命令。我收到以下错误,并且我的应用引擎 NodeJS 服务无法运行 gcloud 命令。

/bin/sh: 1: gcloud: 未找到

【问题讨论】:

  • 标准环境还是弹性环境?
  • 弹性环境。我们是否需要在我的 gcloud 服务的 app.yaml 文件中设置一些环境?

标签: node.js google-app-engine google-cloud-platform gcloud


【解决方案1】:

Connect to your instance 并检查您是否在 Google 提供的默认运行时映像中安装了 gcloud SDK。

如果它没有安装(不是不可能 - 它也没有出现在标准环境中,请参阅System Packages Included in the Node.js Runtime),那么您可以尝试像对待任何其他非 node.js 依赖项一样对待它并构建一个自定义运行时 - 见Google App Engine - specify custom build dependencies

如果已安装,请检查您是否需要调整应用的环境才能访问它。

但一般而言,gcloud 命令并非真正设计为在已部署的实例上执行。根据您要实现的具体目标,可能会有更适合/更直接/编程的 API 替代方案(可能在大多数情况下,这也是 gcloud 命令在后台调用的内容)。

【讨论】:

  • 非常感谢。它确实帮助我找到了问题。有没有办法我们可以更新默认 nodejs 运行时映像的 docker 文件,为 gcloud sdk 添加这个非 nodejs 附加依赖项?
  • 不是默认图片 - 由 Google 控制。这正是我提到的自定义运行时发挥作用的地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-18
  • 2017-10-20
  • 1970-01-01
相关资源
最近更新 更多