Node.js 中找不到模块“dotenv”错误 [已解决]

Node.js 中找不到模块“dotenv”错误[已解决]

Cannot find module ‘dotenv’ error in Node.js

要解决“找不到模块‘dotenv’”错误,请确保
dotenv通过在项目根目录中打开终端并运行以下命令来安装软件包:npm install dotenv然后重新启动 IDE 和开发服务器。

找不到模块 dotenv

以下是错误发生方式的示例。

索引.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”错误
一文中的说明进行操作。

额外资源

您可以通过查看以下教程了解有关相关主题的更多信息: