【问题标题】:Whenever I try to run my server via Heroku I get "Error: Cannot find module 'dotenv'"每当我尝试通过 Heroku 运行我的服务器时,我都会收到“错误:找不到模块 'dotenv'”
【发布时间】:2022-01-26 18:34:59
【问题描述】:

浏览堆栈溢出时,我注意到一个常见的修复方法是确保 dotenv 在依赖项中,而不仅仅是在 devDependencies 中。这是screenshot of the log and the package.json。您会注意到 dotenv 确实在我的依赖项中。我也多次删除并重新安装了 node_modules 但仍然没有运气。

我需要服务器文件顶部的 dotenv as shown here

【问题讨论】:

    标签: node.js typescript heroku


    【解决方案1】:

    我解决了这个问题。我决定尝试卸载 dotenv 并重新安装,这很有效。显然,这与删除节点模块和 npm install 不同。

    【讨论】:

      【解决方案2】:

      我看到dotenv 被添加到devDependencydevDependency 是特殊的,只有当您在包含它们的package.json 上执行npm install 时才会安装。通常,您会在 devDependencies 中添加您的开发工具(如测试运行程序等),因为它们不是应用程序运行所必需的。

      当我们在生产中运行应用程序时,我们使用npm install --production 安装依赖项,它只安装package.jsondependencies 部分中提到的依赖项。这也是 Heroku 为您所做的(查看他们的 buildpack 以获取 Node.js!)

      要安装devDependency,您可以:npm i -D <package name>;并安装一个生产dependency(就像你的网络框架一样express),你会做npm i -S express

      尝试运行npm i -D dotenv 并检查它是否有效(如果您只是执行npm i dotenv 也可能有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-02-08
        • 1970-01-01
        • 1970-01-01
        • 2019-02-10
        • 2020-03-08
        • 1970-01-01
        • 2021-09-21
        • 2015-12-18
        相关资源
        最近更新 更多