在尝试使用discord.js时出现Node.js node:internal/modules/cjs/loader:936错误。

12
我正在尝试制作一个Discord机器人,并使用命令前缀“*”,但当我试图让机器人在线/运行时,会出现以下错误:

node:internal/modules/cjs/loader:936 node:internal/modules/cjs/loader:936 throw err; ^

Error: 找不到模块'C:\Users\name\const' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) at node:internal/main/run_main_module:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }

我使用的模块是discord.js,我已经在CMD和VSC终端上安装了discord.js,但它仍然出现了MODULE NOT FOUND错误。我在网上找了很久也没找到解决办法。我已经尝试重新安装Node.js,但问题仍然存在。请帮忙,谢谢!

你是如何运行你的机器人的?你在正确的目录下吗? - lejlun
1
你是用 npm install 安装的吗? - ME-ON1
@ME-ON1 我使用“npm install discord.js”安装了discord.js。 - coder
在运行 node index.js 的目录中展示你的 package.json - ME-ON1
@lejlun 我正在使用 VSC 和 node index.js 运行我的机器人。我刚刚进入了目录,但是它给了我另一个错误:“TypeError [CLIENT_MISSING_INTENTS]: 必须为客户端提供有效的意图。” - coder
@ME-ON1 package.json "{ "dependencies": { "discord.js": "^13.0.1" } }" - coder
16个回答

14

我也遇到了同样的错误,但我只是更改了文件目录,因为我在错误的目录下运行了 node <filename.js>,所以我只需要像这样更改 ---

第一步检查您是否在正确的目录中 输入:> ls

然后,如果您在正确的目录中,请输入:node <filename.js>如果不是,则更改目录以更改目录输入:cd <filename>

然后运行您的第一个应用程序或文件以运行输入:node <filename.js>

希望您的错误已经解决了!


6

如果您需要以管理员权限运行程序,可以在正确的目录下使用sudo命令(sudo + 要运行的程序)。


4
在Windows系统下,我是这样解决的。
我打开了这个文件夹:C:\Users\Documents\AppData\Roaming\npm
然后删除了 create-react-app 文件。
最后重新启动项目,问题得到解决。

2

问题的根源是我的路径混乱了,直到我找到我的npm包存放位置后才意识到这一点。我之前认为它们在../Programs/Roaming/npm等文件夹中,但是由于某次更新(我想是node的更新),我的npm包实际上存放在Python Lib子目录中。

你的答案可能与我的相同,而我是通过使用

npm list -g

命令 - 显示全局安装的软件包,但也突出显示这在我的路径中找不到

希望这能帮助到某些人!


1
在我的情况下(这个错误发生在运行next app的docker容器中),原因是我在没有复制锁定文件(package-lock.json和/或yarn.lock)的情况下运行了没有标记--build的docker-compose。
我更新了我的Dockerfile:
[...]

COPY yarn.lock .
RUN yarn install --frozen-lockfile 
CMD [ "yarn", "dev" ]

然后,使用docker-compose up --build命令运行。


1
当你在没有进入项目的情况下运行npm run start时,就会出现这种情况... 因此,在开始编译项目之前,请运行以下命令:cd <project folder name>...
这将停止显示“缺少模块”错误,并平稳地在浏览器中运行您想要的输出。

1
在启动服务器之前,确保以下启动文件已经被提及:
cross-env NODE_ENV=production node index<启动文件名称如index对应index.js>

1

当我在跟随一个JS教程时,我也遇到了这个错误信息。 问题是我复制了一个现有的JS文件并将其重命名,但是当我运行它时出现了错误。 当我创建了一个新的JS文件,并复制代码进去并运行时,它就可以工作了。


1
我遇到了同样的错误,原因是试图从错误的位置在Node中运行文件。
我的解决方法是使用终端并切换到包含要运行的文件的确切文件夹,然后运行node filename.js

1

当我尝试从命令提示符中查找“npm”和“Rdme”的路径以更新Rdme时,遇到了以下错误日志

当文件未找到或路径错误时,会导致此错误。在我的情况下,我将缺失的文件添加到相应的文件夹中,并在环境变量中进行了配置和更新(添加缺失的文件后)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接