【问题标题】:Heroku does not update node.js > package.json Github tarball dependeciesHeroku 不更新 node.js > package.json Github tarball 依赖项
【发布时间】:2012-01-31 20:38:53
【问题描述】:

我在 Github 上管理一个依赖项,我在我的项目中将其用作依赖项。我将依赖项作为 tarball 链接(即https://github.com/username/dependecy/tarball/master)放入 package.json 中,它在本地正常工作。当我在 Github 更新包时,我可以运行 npm install 并且包括 Github tarball 在内的所有依赖项都会得到更新。然而,Heroku 并非如此。 tarball 链接的依赖项不会更新。有什么想法吗?

【问题讨论】:

  • 我也有同样的问题。过去我可以通过增加依赖的版本来欺骗它,但现在不行了。
  • 这是我现在的解决方法。只需更改 url 中的用户名并执行虚拟提交即可。 (也许只是放一个 fork 的 url)而不是再次更改为原始并再次提交。希望这会有所帮助
  • 或者只是将 node_modules 文件夹推送到 heroku。
  • 我已经考虑在我的 repo 中包含 node_modules。这是不好的做法,但我的 heroku 构建时间开始成为问题。

标签: node.js heroku npm


【解决方案1】:

我遇到了类似的问题。我的应用程序依赖于插入符号版本,如下所示:

"dependency": "^0.6",

因此,每当依赖项更新其补丁版本时,我希望 Heroku 拥有更新的依赖项,而无需任何提交/推送到我的应用程序。为此我设置了以防万一

heroku config:set NODE_MODULES_CACHE=false

当新的补丁版本可用时,我手动重新部署了已经从 Heroku Dashboard 部署的同一个应用程序。 您可以尝试为您的案例做同样的事情吗?这可能会对您有所帮助。

【讨论】:

    【解决方案2】:

    由于没有人回答这个问题,我将分享我所学到的。诀窍是让 heroku 认为 tarball 是不同的或新的,以便再次下载它。正如@celalo 建议的那样,您可以删除它或更改路径、提交、推送、改回、提交和推送。这很混乱,但它有效。

    我最终做的是创建一个 master1 分支。我将分支与 master 保持同步,然后在需要更新时在 master 和 master1 之间交替使用 tarball url。

    【讨论】:

    • 2020 年访问此网站时遇到完全相同的问题。你有没有找到更好的方法来做到这一点?我一直在通过更改分支对您使用相同的解决方法,但这很麻烦且远非理想。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2016-11-05
    • 2022-12-24
    • 2017-06-23
    • 2014-10-16
    • 2019-02-15
    • 1970-01-01
    相关资源
    最近更新 更多