繁体   English   中英

内部/模块/cjs/loader.js:582 抛出错误

[英]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:\Users\User\Desktop\NodeJsProject\app.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)

适用于所有 => 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 文件。
之后,它运行良好。
ex- app.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 ,或任何你拿起的)。

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

对于那些使用TypeScript的人来说,这是由设置的compilerOptions中的incremental选项引起的。

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

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

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.js'

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

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

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

node .function-hello.js

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

node .\function-hello.js

您尝试执行的 js 文件的路径错误; 您必须输入相对于节点所在的根目录执行的路径和文件名,但您输入的内容不是它所在的位置。

我输入了node redux-basics.js ,得到了这个稍微有点误导性的错误消息,Stack Overflow'ed,查看了我的文件系统,我应该输入node src/redux-basics.js

此错误消息很容易重现。

  • 打开一个终端窗口。
    (在 Windows 上: WinKeycmdEnter 。在 Linux 上: Ctrl + Alt + t 。)
  • 键入npm并按Enter以查看是否安装了 Node.js。
  • 如果您得到command not found ,请在https://nodejs.org/en/download/下载并安装。
    (在 Linux/Ubuntu 上: sudo apt install nodejs如果您愿意。)
  • 输入(或粘贴) node thisFileDoesNotExist.js (然后按 Enter 键)。

在 Windows 上,希望看到类似于以下内容的内容:

internal/modules/cjs/loader.js:969
  throw err;
  ^

Error: Cannot find module [... + a few more lines]

在 Linux (Ubuntu 18.04) 上:

module.js:549
  throw err;
  ^

Error: Cannot find module [...]

我还没有尝试过 macOS,但也希望有类似的东西。

注意:在 Visual Studio Code 中进行调试时,这可能会无缘无故地发生。
如果您在 VScode 中遇到错误,请查看HappyHands31的回答是否有帮助。


最后,要在终端中运行 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!

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

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

在 package.json

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

我正在关注控制台错误。 Error : Cannot find module

这是我进入控制台的完整错误。 我应该怎么办?

internal/modules/cjs/loader.js:582
    throw err;
    ^

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.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)

对我来说,从命令提示符再次“npm install”有效。 命令提示符必须是“以管理员身份运行”

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

只需键入“ node NodeJsProject/app.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

在上述命令中,您需要编辑 Node 版本,然后导出 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

并且错误消息根本没有出现

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

我得到了同样的错误:

 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:\Programming\01a.nextjs\project\index.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...

我遵循了这里的所有建议,但没有一个对我有用。 我发现我将 server.js 移到了他自己的文件夹 server/server.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

Caseyjustus 的评论帮助了我。 显然我的需要路径中有空间。

const listingController = require("../controllers/ listingController");

我将代码更改为

const listingController = require("../controllers/listingController");

一切都很好。

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

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

"main": "main.js

" 括号中提供的文件必须与您尝试运行的文件完全相同

node main.js

这解决了我的问题

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

npm i cjs-loader

我正在关注控制台错误。 Error : Cannot find module

这是我进入控制台的完整错误。 我应该怎么办?

internal/modules/cjs/loader.js:582
    throw err;
    ^

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.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)

对我来说,我刚刚安装了该软件包并且它有效:

yarn add cjs-loader --save

或者

npm i cjs-loader --save

但请注意,有时问题不仅在于没有此库,而且您的应用程序文件app.js的路径可能不在此文件夹中:

C:\Users\User\Desktop\NodeJsProject\

从添加/删除程序修复 node.js 安装后,它与我一起运行。

这是全球性的,不仅仅是一个项目!

对我来说,我的问题出在我的Procfile 我有

web: node src/index.js

当我应该有的时候:

web: node dist/index.js

有时:在 VS 代码编辑器中无法获得您当前尝试运行的文件的确切路径。 请检查您的文件路径是否与您保存在计算机驱动器上的文件相同。

这个错误!

错误:找不到模块

意味着编辑器找不到文件 js 路径

在修补节点 14 并尝试让 CJS 和 MJS 工作时,我设法在我的server目录中添加了一个 package.json 文件

{ type: "module" }

我忘了我添加了这个文件,这是浪费几个小时查看这个错误的原因。 也许这会对某人有所帮助!

我将我的 server.js(无论你的情况如何)文件放在了错误的目录中 XD

我通过使用ts-node instaed of tsc && node解决了它

首先删除/删除 node_modules 文件,然后运行此代码:

npm 缓存清理 -force

npm 安装 -force

npm 开始

我希望它能解决你的问题

我显示的错误是:附加了调试器。 等待调试器断开连接... node:internal/modules/cjs/loader:936 throw err; ^ 错误:找不到模块'C:\Users\joel.sebastian\AppData\Roaming\npm\node_modules\azure-functions-core-tools\lib\main.js'........{ 代码:' MODULE_NOT_FOUND',需要堆栈:[] }

出了问题的是天蓝色功能工具安装,我通过以下方式安装: npm install -g azure-functions-core-tools@3 --unsafe-perm如果再次显示文件错误存在,则添加强制: npm install -g azure -functions-core-tools@3 --unsafe-perm true --force

通常对我来说这是因为 azure function 工具模块

附上调试器。 等待调试器断开连接... internal/modules/cjs/loader.js:905 throw err;

错误:找不到模块“C:\Users\myName\AppData\Roaming\npm\node_modules\azure-functions-core-tools\lib\main.js”

因此,您可以找到最后一行中提到的缺失模块并安装或更新它

对我来说,将我的工作目录移动到节点所在的位置,解决了这个问题。

我的节点位置C:\Users\hp

我过去的工作目录位置D:/Devslane/mywebsocket

我的新工作目录路径C:\Users\hp

然后从新位置打开目录,删除当前node modulespackage-lock.json并再次“npm install”它们。

现在运行node <filename>.js并繁荣!

从官方文档创建自定义库后

nest g library my-library

甚至跑步

npm run prebuild

由于正在编译的 src 之外的文件(“libs”目录),我总是遇到同样的错误。

在此处输入图像描述

这是我的 dist 文件夹:

在此处输入图像描述

我通过在 tsconfig.build.ts 中为排除的文件添加“库”来解决

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM