在窗口上安装npm模块时“找不到模块”

问题描述:

我是NodeJS的新手。我试图在Windows 8上使用npm。在窗口上安装npm模块时“找不到模块”

我已经使用chocolatey,cinst nodejs.install(版本0.10.17)安装。我以管理员身份安装(并希望以普通用户身份运行npm)。

节点本身似乎工作,我可以使用REPL运行简单的程序。

如果我尝试使用NPM安装的东西,我得到cannot find module

> node npm install express 

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'C:\Users\Klas\Documents\My Dropbox\mina egna\tech\node\webserver\npm' 
    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 

我已经阅读Nodejs cannot find installed module on Windows?答案但不幸的是,目前还不清楚到我什么,我必须做的。

我已经尝试设置NODE_PATH

  1. 在试图跟随this answer,我试图将其设置为C:\Users\Klas\AppData\Roaming\npm\node_modules(但我不得不同时创建npm和子文件夹node_modules自己)
  2. 我曾尝试创建一个文件夹c:\node\node_module(根据this advice,即使安装甚至没有创建c:\node文件夹)并将其设置为该文件夹。
  3. 我试图将其设置为C:\Program Files\nodejs\node_modules\npm\node_modules(这并安装后存在)
  4. 我也尝试创建下面的当前工作目录中node_modules文件夹。据我所知,这是本地npm将被安装在哪里?

这些都没有帮助。所以在我看来,设置NODE_PATH不是解决方案吗?

使用-g标志没有区别(我不想使用它)。

我得到与普通用户和管理员相同的错误(我宁愿成为普通用户)。

我得到同样的错误无论身在何处我执行命令,当我这样做是在C:\Program Files\nodejs,在那里我得到

basedir=`dirname "$0"` 
    ^
SyntaxError: Unexpected token ILLEGAL 
    at Module._compile (module.js:439:25) 

不使用的窗口,除了,但我敢肯定它只是npm install express在Windows太。

+1

Doh!如果我在REPL中执行'npm install express',我会得到'npm应该在节点repl之外运行的消息,在你的普通shell中',我将其解释为'npm'是'node'的子命令,这就是为什么我在'cmd.exe'中运行'npm install express'节点。令人尴尬的新手错误。 –

+0

那些其他的文章让我想起循环,因为他们谈论了很多关于'NODE_PATH'的内容。据我所见,如果你满足于本地安装(推荐),你根本不需要设置NODE_PATH。 –

+0

那么也有npm模块只是日常使用的命令行工具。简单的HttpServer)。对于那些通过命令行可用的用户,您需要在NODE_PATH中使用它们。 –