【问题标题】:'heroku local' cannot find module 'load-foreman-procfile''heroku local' 找不到模块 'load-foreman-procfile'
【发布时间】:2019-11-09 17:02:59
【问题描述】:

我正在尝试通过“heroku local”在本地运行 Heroku 应用程序,但 Heroku CLI 中出现缺少模块错误。这是一个只需要报告的 Heroku 错误,还是我的机器 (mac) 上的设置有问题?任何建议表示赞赏。

为了确保我的应用程序没有问题,我一直在使用 Heroku 在其入门指南中提供的节点应用程序调试此问题。意思是,它已经有一个可以使用默认设置运行的 Procfile。

我尝试过的事情:

  • 为应用程序和 CLI 重新安装节点模块
  • 重新安装 Heroku CLI

这是错误:

node-js-getting-started [master] :> heroku local
Error: Cannot find module '../../load-foreman-procfile'
    at Object.<anonymous> (/usr/local/Cellar/heroku/7.26.1/libexec/node_modules/@heroku-cli/plugin-local/lib/commands/local/index.js:5:18)

上述路线的文件需要一个'load-foreman-procfile',如下所示:

const Procfile = require('../../load-foreman-procfile');

需要路径不会导致该名称的文件。事实上,这是我在“/usr/local/Cellar/heroku/7.26.1”中可以找到的对“load-foreman-procfile”的唯一引用。

我希望 heroku local 生成一个通过我的 Procfile 启动的正在运行的本地服务器,而不是上面的错误代码。

【问题讨论】:

    标签: node.js heroku heroku-cli


    【解决方案1】:

    我在运行 heroku-cli v7.26.0 时遇到了同样的错误。我切换到他们的边缘频道(目前为v7.26.2),之后heroku local为我工作。

    【讨论】:

    • 谢谢@sophon。你是如何切换频道的?奇怪的是,heroku -v 在我这边返回 7.26.2。但是错误显然是在7.26.1目录中查找信息。
    • 对于 mac 我不确定。我在 ubuntu 上,我的运行方式是 sudo snap refresh heroku --classic --edge
    【解决方案2】:

    就像@sophon 提到的那样——从v7.26.0 更新到v7.26.2 为我解决了这个问题。 heroku update 在 mac 上成功了。

    【讨论】:

      猜你喜欢
      • 2012-10-22
      • 2021-08-20
      • 2015-09-21
      • 2014-05-02
      • 2012-10-01
      • 2013-03-25
      • 2016-07-31
      • 2021-06-17
      相关资源
      最近更新 更多