Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 我可以在Heroku上使用npm私有github依赖项吗_Node.js_Heroku_Ssh_Npm_Buildpack - Fatal编程技术网

Node.js 我可以在Heroku上使用npm私有github依赖项吗

Node.js 我可以在Heroku上使用npm私有github依赖项吗,node.js,heroku,ssh,npm,buildpack,Node.js,Heroku,Ssh,Npm,Buildpack,我正在尝试将Node.js应用程序推送到Heroku。该应用程序使用npm获取私有github存储库,这些存储库在package.json中指定,如下所示 "dependencies": { "my-private-dep": "github:my-org/my-repo" } 在npm安装阶段,生成失败,因为github主机密钥不在容器known_hosts文件中 remote: npm ERR! Host key verification failed. 这是SSH

我正在尝试将Node.js应用程序推送到Heroku。该应用程序使用npm获取私有github存储库,这些存储库在
package.json
中指定,如下所示

"dependencies": {
    "my-private-dep": "github:my-org/my-repo"
}
npm安装
阶段,生成失败,因为github主机密钥不在容器
known_hosts
文件中

remote:        npm ERR! Host key verification failed.

这是SSH的预期行为。Heroku是否为此提供了解决方案?例如,它使用相同的方法,在每次生成之前都会将主机密钥注入容器,从而解决此问题。Heroku有类似的解决方案吗?

事实证明,有一个构建包可以使这一过程相对容易-

然而,我发现,无论出于什么原因,设置
SSH\u HOSTS
环境变量对我来说都不正常-根据文档,它应该在默认情况下设置Github,然后您可以添加其他变量,如果您愿意的话。。。实际上,我正在为这个特定项目使用Gitlab,但发现当我这样设置配置时:

$ heroku config:set SSH_HOSTS="git@gitlab.com"
没有被发现。我最终将构建包分叉,并将
bin/compile
第13行更改为

ssh_hosts=${SSH_HOSTS:-"git@gitlab.com"}

把它推到我自己的回购协议上,用于这个项目。工作起来很有魅力。

你有没有解决过这个问题?我在Phoenix应用程序中遇到了同样的问题…不幸的是,我没有。我在Heroku上保释,刚刚花了5美元/月买了一台数字海洋服务器。真奇怪没人能回答这个问题。这很基本。我想也许Heroku想让你为他们的支持或其他事情付钱。我确实想出了一个解决方案——Heroku并没有让这件事变得容易,但我发现有人制作了一个构建包,几乎对我有用——通过快速调整,我能够让它飞起来。我将在下面发布我的答案……如果我需要使用
节点
构建包,您知道这是否仍然有效吗?我正在尝试将API和ReactJS应用程序一起部署。@tim.rohrer我想是的,但我相信SSH构建包必须在构建包顺序中排在第一位。在我的例子中,我运行的是Phoenix服务器,所以我的buildpack顺序是
ssh密钥私有buildpack
(我的个人叉子),
heroku buildpack elixir
heroku buildpack Phoenix static
,一切顺利。谢谢。我必须在构建包和构建app.json文件方面变得更聪明。希望这会更容易些:-)