部署到 Heroku 时的本地或私有 NPM 模块
Posted
技术标签:
【中文标题】部署到 Heroku 时的本地或私有 NPM 模块【英文标题】:Local or Private NPM module when deploying to Heroku 【发布时间】:2013-10-27 21:30:13 【问题描述】:我有一个具有本地 npm 模块 npm link ./local
的节点应用程序,我正在尝试将该应用程序部署到 heroku。 Heroku 在我部署时运行 npm install
,但 npm link
没有保存在 package.json
中,所以我的本地模块丢失了。
我是 heroku 和 Procfiles
的新手,我想在 heroku 框上运行一个脚本或只运行 npm link ./local
。
或者,我可以将模块作为私有存储库放在 github 上并从那里链接它。但据我所知,Heroku 无法下载私人回购。我可以通过密钥让 Heroku 访问我的 github 存储库,以便它可以下载它吗?
我想要某种解决方案!随便!
【问题讨论】:
【参考方案1】:我认为您需要将模块放在 node_modules 文件夹中并将其推送到 heroku
Procfile 易于维护,heroku 会读取它
我有像
这样的示例 Procfileweb: bin/hubot -a campfire
甚至 heroku 也表示最好将 node_modules 包含到 repo 中,这样您就可以将本地包包含在其中。
在此处查看更多信息Heroku Node Deploy
【讨论】:
我想这可以解决问题。关于不忽略 git 的事情npm_modules
让我的大脑放屁。
所以我不认为 git 正在关注我的 npm link
aka symlink
。我认为将我的实际代码放在node_modules
中并不安全。你知道如何解决这个问题吗?
所以我让它工作了,npm link
并没有像我想象的那样将它相对链接,所以我必须将cd
直接连接到node_module
和ln
。 node_modules$ ln -s ../local_module/ ./local_module
以上是关于部署到 Heroku 时的本地或私有 NPM 模块的主要内容,如果未能解决你的问题,请参考以下文章
您可以使用 Heroku 部署由 json-server NPM 模块运行的假后端吗?
使用 Github 包作为 npm 节点模块时的 Firebase 云功能部署问题