Node.js 中找不到模块“dotenv”错误[已解决]
Cannot find module ‘dotenv’ error in Node.js
要解决“找不到模块‘dotenv’”错误,请确保
dotenv
通过在项目根目录中打开终端并运行以下命令来安装软件包:npm install dotenv
然后重新启动 IDE 和开发服务器。
以下是错误发生方式的示例。
索引.js
// ⛔️ Error: Cannot find module 'dotenv' // Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'dotenv' // imported from bobbyhadz-js/index.js require('dotenv').config(); // 👇️ if you use ES6 you only need this line to import // import 'dotenv/config' console.log(process.env.DB_USER); console.log(process.env.ENV); console.log(process.env.DB_PORT);
在项目的根目录(文件所在的位置)中打开终端package.json
并运行以下命令:
壳
npm install dotenv
这会将
dotenv
包添加到项目的依赖项中。如果错误未解决,请尝试重新启动 IDE 和开发服务器。
删除你的node_modules并重新安装你的依赖项
如果仍然出现错误,请尝试删除您的node_modules
和
package-lock.json(不是
package.json
)文件,重新运行npm install
并重新启动您的 IDE。
bash
如果您使用的是 macOS 或 Linux,请在或中发出以下命令zsh
。
壳
# for macOS and Linux rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install
如果您使用的是 Windows,请在 CMD 中发出以下命令。
指令
# for Windows rd /s /q "node_modules" del package-lock.json del -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install
如果错误仍然存在,请确保重新启动 IDE和开发服务器。VSCode 经常出现故障,有时重启可以解决问题。
.env
在项目根目录下创建一个文件
.env
现在在项目的根目录中创建一个文件。
.env
DB_PORT=1234 DB_USER=james_doe ENV=dev
确保将该
.env
文件添加到您的.gitignore
,特别是如果您在公共存储库上工作。在您的index.js
文件中,在导入其他任何内容之前,导入并初始化dotenv
包。
索引.js
require('dotenv').config(); // 👇️ if you use ES6 you only need this line to import // import 'dotenv/config' console.log(process.env.DB_USER); // 👉️ "james_doe" console.log(process.env.ENV); // 👉️ "dev" console.log(process.env.DB_PORT); // 👉️ "1234"
您必须将加载并初始化
dotenv
包作为文件中的第一件事index.js
,特别是当您有其他文件需要访问环境变量时。如果在初始化之前导入另一个文件dotenv
,则最终会在process.env
对象的属性设置之前运行这些文件。
现在重新启动您的开发服务器,您应该看到对象上的属性
process.env
打印出指定的值。
请注意,该DB_PORT
属性的值为 type string
,即使我们在.env
文件中将其设置为数字。
如果错误仍然存在,请按照我
在 Node.js 中找不到模块“X”错误
一文中的说明进行操作。
额外资源
您可以通过查看以下教程了解有关相关主题的更多信息: