我正在尝试使用私有git存储库作为我的node.js应用程序中npm的包源。也就是说,我在package.json依赖项中有以下行:
"mypackage": "git+ssh://git@bitbucket.org/myusername/mypackage.git#dev",
这在我的机器上工作正常,但我无法部署到App Engine。当我运行gcloud app deploy
时,构建Docker容器时出错。当它运行npm install命令时,会发生错误,因为由于缺少ssh命令,git无法克隆我的存储库。
Step #1: npm ERR! Error while executing:
Step #1: npm ERR! /usr/bin/git ls-remote -h -t ssh://git@bitbucket.org/tappshq/tp-nodejs-api-commons.git
Step #1: npm ERR!
Step #1: npm ERR! error: cannot run ssh: No such file or directory
Step #1: npm ERR! fatal: unable to fork
Step #1: npm ERR!
Step #1: npm ERR! exited with error code: 128
Step #1:
Step #1: npm ERR! A complete log of this run can be found in:
Step #1: npm ERR! /root/.npm/_logs/2018-01-17T16_05_18_034Z-debug.log
Step #1: The command '/bin/sh -c npm install --unsafe-perm || ((if [ -f npm-debug.log ]; then cat npm-debug.log; fi) && false)' returned a non-zero code: 1
Finished Step #1
还有其他办法吗? ssh应该在这一点上丢失吗?因为如果我尝试调试实例,它会显示现有的ssh命令吗?我也尝试过使用https,但bitbucket不允许我通过https登录而不使用双因素身份验证,这在此处不起作用。