nodejs module.js:340错误:找不到模块

时间:2013-09-23 23:01:24

标签: node.js module

我在C:\ Program Files(x86)\ nodejs

中安装了nodejs

然后我创建了一个.js文件并将其保存在我的桌面上,只是为了在控制台中输出'hello world':

console.log('hello world');

当我尝试从命令提示符运行文件时:

C:\Users\Laura>cd desktop
C:\Users\Laura\Desktop>node nodeTest.js

我明白了:

module.js:340
throw err;
      ^
Error: Cannot find module 'C:\Users\Laura\Desktop\testNode.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3

我阅读了许多其他相关问题,其中一些建议运行安装,所以我做了。

C:\Users\Laura>npm install -g express

但没有运气,仍然收到相同的错误信息。

21 个答案:

答案 0 :(得分:34)

编辑:这个答案已经过时了。使用Yarn和NPM 5的锁定文件之类的东西,现在可以更容易地确保您在Heroku等平台上的依赖性是正确的

我有一个类似的问题与node_modules在某种程度上在本地进行了修改,但是更改没有反映在Heroku上,导致我的应用程序崩溃。如果这是您的问题,那么相对容易解决:

# Remove node_modules
rm -fr node_modules

# Reinstall packages
npm i

# Commit changes
git add node_modules
git commit -m 'Fix node_modules dependencies.'
git push heroku master

希望对有类似问题的其他人有所帮助。

答案 1 :(得分:19)

我遇到了一个曾经有人写过的服务器的问题。事实证明,我没有安装脚本所需的一些东西。

question对我有帮助。

我最终能够使用:

npm install yourMissingDependency 

虽然在您的实例中它可能只是一个文件,但它没有路径。 您可以尝试将该文件放在运行节点脚本的同一文件夹中。

答案 2 :(得分:5)

我认为问题是NODE_PATH环境变量。我有同样的问题,但一旦我发布(在Windows上)

set NODE_PATH=C:\Users\MyUser\node_modules

然后一切正常。

干杯,

答案 3 :(得分:3)

重新启动命令提示符并检查路径变量(类型:路径)。 如果你无法从输出中找到find nodejs installation dir,请将它添加到路径变量中,并记得再次重新启动cdm ...

答案 4 :(得分:3)

我有一个几乎完全相同的问题,原来我的JS文件实际上并不在我调用它的文件夹中,而且我的文件夹太深了。 我上了一个目录,运行了文件,它认出来了,很快就过去了。

或者,如果您向上移动一个文件夹,并且它给出了相同的错误,但是关于不同的模块,请将相同的文件放在父文件夹中,然后将其移动到您之前尝试运行的子文件夹中。< / p>

TL; DR-您的文件或其模块不在您认为的文件夹中。上一级

答案 5 :(得分:2)

尝试在Node命令行环境中输入:

.load c:/users/laura/desktop/nodeTest.js

它应该适用于你想要做的事情。

如果要直接调用该文件,则必须将其放在Node安装所在的根目录中。

答案 6 :(得分:2)

Hi Phonegap / Cordova / Ionic开发人员,

  I solved this issue by doing the following

  1. C: drive -> Users -> "username" eg. john -> AppData -> Roaming

  2. Inside the "Roaming" folder you need to delete both "npm" and "npm-cache" 
       folder.

  3. Now build your project, and it should work

快乐的编码!!!

答案 7 :(得分:1)

我遇到了同样的问题。我只是复制了testNode.js文件(包含测试代码)并手动粘贴到nodejs目录的根目录中。我试过这个命令C:\Program Files (x86)\nodejs>node testnode.js 答对了!我收到了这条消息。

enter image description here

然后我在浏览器中输入了这个网址并收到了消息&#34; Hello World&#34;。 希望这对某人有所帮助。

答案 8 :(得分:1)

你需要:

  • 从Windows资源管理器文件夹选项
  • 中删除uploaded的勾号
  • 您的文件将显示为Hide extensions for known file types
  • 删除尾随testNode.js.txt以便将要解析的文件作为JS文件

就是这样,现在它有效了!

答案 9 :(得分:0)

如果您使用的是Express之类的框架,则需要将package.json文件放入您正在使用的文件夹中,并且不要忘记更改主体名称。

答案 10 :(得分:0)

在我的情况下,出现此错误是因为我位于错误的目录中。所以节点找不到我要运行的模块。只要确保您的节点文件在您的桌面目录中即可。

答案 11 :(得分:0)

当我尝试运行我的第一个节点应用程序时,我遇到了相同的问题,但是当我尝试查看可能是什么问题时,它就是文件的路径。我从其他位置运行节点.js,因此遇到了问题。当我固定路径时,效果很好。

答案 12 :(得分:0)

我执行了以下命令,它适用于我。

PM> npm install ee-first ee-first@1.1.0 node_modules\ee-first

答案 13 :(得分:0)

我有同样的问题,但最后我尝试在同一个项目文件夹中复制Node_modules文件夹,并且它有效。

答案 14 :(得分:0)

  1. 在Node.js命令提示符中尝试npm start
  2. 查看消息的结尾 - 它为您提供日志文件的路径&#34;其他记录详细信息...&#34;像c:\users\MyUser\npm-debug.log
  3. 之类的东西
  4. 在记事本中打开此文件,找到Node.exe的真实地址: 像C:\\Program Files\\nodejs\\\\node.exe
  5. 之类的东西
  6. 尝试cd到此路径
  7. 致电node.exe + <full path to your server file.js>

    Server is listening on port 1337 !
    

答案 15 :(得分:0)

我也遇到了这个问题,这是由于我们在运行时提到的错误路径。检查文件路径,并确保目录名称之间没有空格。

答案 16 :(得分:0)

解决此问题的简便方法

npm link e

答案 17 :(得分:0)

尝试npm install --production,然后npm start

答案 18 :(得分:0)

我遇到了同样的问题,然后我发现我没有在 server.js 所在的正确目录中点击 node server 命令。

希望这有帮助。

答案 19 :(得分:-1)

确保您将文件另存为JavaScript。取消选中“文件夹选项”窗口中的“隐藏所有已知类型的扩展名”复选框将显示正确的文件扩展名(文件夹&gt;&gt;视图&gt;&gt;选项)。

答案 20 :(得分:-1)

尝试运行node-red时面临同样的问题。

node <directory structure where js  is located>/red. js

就我而言:

node AppData/Roaming/npm/node_modules/node-red/red.js