找不到模块 ‘internal/modules/cjs/loader.js’
Cannot find module ‘internal/modules/cjs/loader.js’
解决Cannot find module ‘internal/modules/cjs/loader.js’的错误:
- 确保将节点命令指向文件系统上存在的文件。
- 删除您的
node_modules
和package-lock.json
文件并重新安装您的依赖项。 - 重新启动您的 IDE。
确保指定的文件路径是正确的
您需要检查的第一件事是您运行的node
命令指向一个存在的文件。
例如,如果您运行node src/index.js
,请确保路径
src/index.js
指向现有文件。
如果将node
命令指向不存在的文件,则会发生错误。
如果您在同一目录中打开您的终端,您可以运行您的文件
node file_name.js
,例如,node index.js
假设您的文件名为
index.js
。
node file_name.js
删除您的 node_modules 并重新安装您的依赖项
如果错误未解决,请尝试删除您的node_modules
和
package-lock.json(不是
package.json
)文件,重新运行npm install
并重新启动您的 IDE。
bash
如果您使用的是 macOS 或 Linux,请在或中发出以下命令zsh
。
# for macOS or 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 中发出以下命令。
# 👇️ (Windows) delete node_modules and package-lock.json 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 经常出现故障并需要重启。
项目路径不应包含特殊字符
确保您的项目路径不包含哈希#
符号或您的操作系统可能无法解决的任何其他特殊字符。
例如,不要使用类似my-folder#3/my-project/my-file.js
(包含哈希#
)的路径。
确保路径中的所有目录都不包含特殊字符,例如
$
或&
符号。
安装缺少的依赖项
如果您的错误消息包含包名称,例如
Cannot find module ‘X’,这意味着您必须通过运行来安装指定的包npm install package-name
。
npm install package-name
确保package-name
用错误消息中的包名称替换占位符。
验证你是否安装了 Node.js
如果错误仍未解决,请打开终端并通过运行以下命令检查是否安装了 Node.js:
node -v
如果你得到一个版本号,你已经安装了 Node.js,否则通过访问官方Node.js 页面安装它。
您还可以使用 NVM 包安装和管理您的 Node.js 版本:
尝试自动完成路径
当您运行node
命令并向其传递路径时,请尝试使用Tab
密钥自动完成您尝试运行的模块的路径。
指向您尝试运行的模块的路径是相对于您打开终端的目录的。
在包含您尝试运行的文件的目录中打开您的终端,然后直接将文件名传递给节点命令,例如node index.js
.
打开您要运行的文件旁边的终端
如果您在尝试使用该命令运行文件时遇到错误node
,请尝试在与您尝试运行的文件相同的目录中打开您的终端。
例如,在 Windows 上:
-
在资源管理器中打开包含该文件的目录。
-
在资源管理器中按下
Shift
并右键单击。
-
单击“在此处打开 PowerShell 窗口”。
-
运行
node my_file.js
命令。
node my_file.js
在 macOS 和 Linux 上:
- 在资源管理器中打开包含该文件的目录。
- 右键单击并单击“在终端中打开”。
-
如果您没有看到“在终端中打开”选项,请右键单击并按
E
键盘上的。 -
运行
node my_file.js
命令。
node my_file.js
在 IDE 中的项目根目录中打开终端
解决错误的另一种方法是在 IDE(例如 Visual Studio Code)的项目根目录中打开终端。
此解决方案假定您尝试运行的文件位于package.json
项目的根目录(您的文件所在的位置)中。
您可以按键盘上的 CTRL + ` (反引号)打开 Visual Studio 代码终端。
CTRL+Shift+P
在项目的根目录中打开终端后,运行命令
node my_file.js
。
node my_file.js
如果您需要在当前打开的文件的目录中打开您的 VS Code 终端,请单击
以下文章。
使用“在集成终端中打开”选项
解决错误的另一种方法是:
- 在 VSCode 中打开您的项目。
- 右键单击项目的根目录(包含文件的目录
package.json
)。
-
如上图所示,单击“在集成终端中打开” 。
-
发出
node my_file.js
命令。
node my_file.js
确保右键单击包含您要运行的文件的文件夹。
常见错误原因
解决 Cannot find module ‘internal/modules/cjs/loader.js’ 的错误有多种原因:
- 将
node
命令指向不存在的文件。 #
包含操作系统无法解析的特殊字符或符号的项目路径。- 有一个有问题的
node_modules
文件夹。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: