"internal/modules/cjs/loader.js:582 throw err"



我在控制台中收到以下错误:Error : Cannot find module.

这是完整的错误。我该怎么办?

internal/modules/cjs/loader.js:582
throw err;
^
Error: Cannot find module 'C:UsersUserDesktopNodeJsProjectapp.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
at Function.Module._load (internal/modules/cjs/loader.js:506:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)

For All => Windows, Linux, Mac

  1. 删除node_modules目录
  2. 删除package-lock.json文件
  3. 运行npm install
  4. 运行npm start

对于 Linux

rm -rf node_modules package-lock.json && npm install && npm start

当我第一次尝试在 node js 上时,我遇到了同样的问题。
我注意到这个问题发生在我身上,因为我在不同的目录中有一些同名的.js文件,这些文件位于同一个主目录中。
我在主项目文件夹之外创建了另一个目录,并创建了一个.js文件。
在那之后,它运行良好。
前应用程序.js

尝试以下命令

删除node_modulespackage-lock.json

rm -rf node_modules package-lock.json

然后运行以下命令以安装依赖项

npm install

最后,通过以下命令运行包。

npm start

帮助我的是将我正在使用的.js文件放在一个新文件夹中,将该文件夹拖放到 VS Code 中(以直接在 VS Code 中打开目录),在 VS Code 中打开终端,然后只需键入node <filename>.js(或在我的情况下node index.js)。

我已经在我的系统上安装了node,但无论出于何种原因,即使我输入了文件的直接路径,我仍然收到您提到的错误,即node /desktop/index.js.

因此,在我的桌面上创建一个新文件夹,将.js文件放在该文件夹中,在 VS Code 中打开该文件夹,然后在终端中键入node index.js解决了我的问题。

我遇到了同样的错误,因为我的文件名末尾有一个空格(不是引用,而是实际文件名)。 一旦我将"app.js"更改为"app.js",它就可以正常工作。

package.json({"npm": <your server code file name>.js})中的文件名替换为运行服务器代码的文件(它应该是app.jsmain.jsstart.jsserver.js或任何你拿起的文件)。

对于那些正在使用TypeScript的人,这是由设置compilerOptionsincremental选项引起的。

这会导致构建tsconfig.tsbuildinfo存储所有缓存数据的文件。如果删除该文件并重新编译项目,它应该立即工作。

1.阅读错误消息!

阅读错误消息。 第二部分的第一行说:

Error: Cannot find module 'C:UsersUserDesktopNodeJsProjectapp.js'

所以首先要检查的是:文件是否存在?

在 Windows 上,打开命令提示符 (WinKey+r,键入cmd,按回车键)。跑:

dir C:UsersUserDesktopNodeJsProjectapp.js

如果响应为 –系统找不到指定的路径。找不到文件– 然后您就知道该文件不存在


同样,在 Linux/Unix 上(在我的例子中是 Windows 上的 MSYS2),运行

$ ls "C:UsersUserDesktopNodeJsProjectapp.js"
ls: cannot access 'C:UsersUserDesktopNodeJsProjectapp.js': No such file or directory

因此,如果在 Linux 上您没有获得这样的文件或目录,那么您就知道该文件不存在

2. 尝试运行npm install

如果上述第 1 部分未能解决您的问题,请尝试运行npm install,然后npm start

3. 最后的手段:试试这个答案

如果以上都不能解决您的问题,我的最后一个提示是:

  1. 删除node_modules目录,
  2. 删除package-lock.json文件,
  3. 运行npm install
  4. 运行npm start.

4.如果错误发生在 VS Code 中

注意:调试时
错误可能会无缘无故地发生 在Visual Studio Code中。
如果你在VS Code中得到错误,看看这个答案 帮助。

5. 如何重现您的错误

据推测,您已经在计算机上安装了 Node.js。
如果没有,请下载并安装。

错误消息很容易重现。 安装 Node.js 后,打开命令行,然后运行:

$ node thisFileDoesNotExist.js
node:internal/modules/cjs/loader:1078
throw err;
^
Error: Cannot find module 'C:thisFileDoesNotExist.js'
[90m    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)[39m
[90m    at Module._load (node:internal/modules/cjs/loader:920:27)[39m
[90m    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)[39m
[90m    at node:internal/main/run_main_module:23:47[39m {
code: [32m'MODULE_NOT_FOUND'[39m,
requireStack: []
}
Node.js v18.14.2

6.如何运行node <someFile.js>而没有错误

要在终端中运行 Node.js 而不会出现错误, 在 Windows 命令行中,运行 :

echo console.log('nHello world!')> hello.js
node hello.js

在 Linux 终端中,尝试:

echo "console.log('nHello world!n')"> hello.js
node hello.js

在这两种情况下,预期响应为:

Hello world!

如果删除hello.js,然后运行node hello.js,则应 再次收到您询问的错误。

引用

  • MSYS2 | 下载页面
  • 解决错误的最激烈的解决方案
  • Visual Studio Code | 下载页面
  • 回答如果VS Code中发生错误该怎么办
  • 如何创建最小、可重现的示例
  • 节点.js | 下载页面

特定的.js文件位于应用程序的子文件夹 (/src) 中,终端位于一般应用程序文件夹中。其中包含所有包文件,模块,公共文件夹,SRC文件夹)它抛出了该错误。转到应用程序的 (/src) 解决了我的问题。

在 nodemon 通过 docker 运行时遇到了类似的问题,

值得检查一下 package.json 中的"主"文件是否配置为指向正确的入口点

在包中.json

"main": "server.js",
"scripts": {
"start":"nodemon src/server.js",
"docker:build": "docker build -f ./docker/Dockerfile . "
},

确保在运行node <path>/app.js时为app.js提供正确的地址路径。它找不到它

Error: Cannot find module 'C:UsersUserDesktopNodeJsProjectapp.js'

您可能没有从正确的目录运行终端命令。

例如,如果您创建了一个新文件夹,请考虑导航到该文件夹,然后从那里运行命令。

当我使用以下命令时,我也遇到了同样的错误:

node .function-hello.js

我将命令更改为以下命令,它工作正常:

node .function-hello.js

您尝试执行的 js 文件的路径是错误的;您必须键入要相对于 root 执行的路径和文件名 node 所在的位置,但您键入的内容不是它所在的位置。

我输入了node redux-basics.js,得到了这个略带误导性的错误消息,堆栈溢出,查看了我的文件系统,我应该输入node src/redux-basics.js

昨晚我发生了一些奇怪的事情。 我运行命令node run watch而不是npm run watch. 我尝试在这个线程上做所有事情,但对我来说没有任何效果。我很沮丧,但最终注意到我运行了错误的命令。我哈哈大笑起来。有时这种事情会发生。虽然喜欢学习Nodejs。

对我来说,从命令提示符再次"npm 安装"有效。命令提示符必须为"以管理员身份运行">

在主目录中创建.js文件,而不是在公共或 src 等子文件夹中创建。

只需键入">node NodeJsProject/app.js">

您的程序将运行:)

转到您的 package.json 文件并检查此行:

"main": "main.js

括号中提供的文件必须与您尝试运行的文件完全一致

node main.js

这解决了我的问题

使用nestjs 使用打字稿时,我遇到了同样的问题。 无论出于何种原因,第一次尝试在 VS Code 中运行调试(使用 launch.json - 顺便说一句,这不起作用。

对我有用的是:删除dist文件夹(从.ts文件中生成.js文件的文件夹,此文件夹的路径通常在tsconfig.json中指定)。

简单的解决方案,但有效的神奇:)

我不小心将一个文件移到了/src 之外,这改变了生成的/build 目录的结构,所以现在在 package.json 中......"dev:serve": "nodemon --inspect=4899 build/index.js",不存在...它现在位于 build/src/index 中.js

同样的事情发生在我身上,我刚刚通过删除"dist"文件并重新运行该应用程序来解决。

对我来说,我尝试使用的 Node 包只能在旧版本的 Node 上运行。

我能够通过使用Homebrew安装旧版本的Node来修复它:

brew unlink node
brew install node@12
echo 'export PATH="/usr/local/opt/node@12/bin:$PATH"' >> ~/.zshrc

在上述命令中,您需要编辑节点版本,然后导出 PATH 命令。

以下命令为我解决了这个问题。

npm install node-gyp -g
npm install bcrypt -g
npm install bcrypt -save

puppeteer, mocha and chai使用

npm uninstall puppeteer mocha chai

从命令行,然后重新安装 用

npm install puppeteer mocha chai

错误消息从未出现过

我得到了同样的错误:

nodemon -w server.js server.js
[nodemon] 2.0.2
[nodemon] reading config .nodemon.json
[nodemon] to restart at any time, enter `rs`
[nodemon] or send SIGHUP to 19248 to restart
[nodemon] ignoring: .node_modules/**/* ..next/**/*
[nodemon] watching dir(s): server.js
[nodemon] watching extensions: js,json
[nodemon] starting `node server.js index.js`
[nodemon] forking
[nodemon] child pid: 18840
[nodemon] watching 30 files
internal/modules/cjs/loader.js:797
throw err;
^
Error: Cannot find module 'D:Programming1a.nextjsprojectindex.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
at Function.Module._load (internal/modules/cjs/loader.js:687:27)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
[nodemon] app crashed - waiting for file changes before starting...

我遵循了这里的所有建议,但没有一个对我有用。 我发现我在他自己的文件夹服务器/服务器.js中移动了服务器.js但在 package.json 中我忘记了从中进行更改:

"dev": "nodemon -w server.js server.js",
"build": "next build",
"start": "NODE_ENV=production node server.js"

对此:

"dev": "nodemon -w server/server.js server/server.js",
"build": "next build",
"start": "NODE_ENV=production node server/server.js"

在我进行此更改并重新启动服务器后npm run dev一切正常。

我更改了项目文件夹的名称并且它起作用了,我不知道为什么:)

你需要启动服务器使用以下命令

npm start

yarn start

在我做了 sudo npm i cjs-loader 之后,它终于对我有用了(并确保安装 express,而不仅仅是 express-http-proxy)

如果您正在使用 node/express,请考虑在终端中运行它

npm i cjs-loader

最新更新