簡體   English   中英

每當我嘗試通過 Heroku 運行我的服務器時,我都會收到“錯誤:找不到模塊 'dotenv'”

[英]Whenever I try to run my server via Heroku I get "Error: Cannot find module 'dotenv'"

瀏覽堆棧溢出時,我注意到一個常見的修復方法是確保 dotenv 在依賴項中,而不僅僅是在 devDependencies 中。 是日志和 package.json 的屏幕截圖 您會注意到 dotenv 確實在我的依賴項中。 我還多次刪除並重新安裝了 node_modules 但仍然沒有運氣。

我需要服務器文件頂部的 dotenv,如此處所示

您可以發布任何必要的代碼嗎?

我解決了這個問題。 我決定嘗試卸載 dotenv 並重新安裝,這很有效。 顯然,這與刪除節點模塊和 npm 安裝不同。

我看到dotenv已添加到devDependency中: devDependency是特殊的,僅當您在包含它們的package.jsonnpm install時才會安裝。 通常,您將在devDependencies中添加您的開發工具(如測試運行程序等),因為它們不是應用程序運行所必需的。

當我們在生產中運行應用程序時,我們使用npm install --production安裝依賴項,它只安裝package.json的依賴項部分中提到的dependencies項。 這也是 Heroku 為您所做的(查看他們的 Node.js 構建包!)

要安裝devDependency ,您可以: npm i -D <package name> 並安裝生產dependency項(比如你的 web 框架,比如express ),你會做npm i -S express

嘗試運行npm i -D dotenv並檢查它是否有效(如果您只執行npm i dotenv也可能有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM