在窗口上安装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
:
- 在试图跟随this answer,我试图将其设置为
C:\Users\Klas\AppData\Roaming\npm\node_modules
(但我不得不同时创建npm
和子文件夹node_modules
自己) - 我曾尝试创建一个文件夹
c:\node\node_module
(根据this advice,即使安装甚至没有创建c:\node
文件夹)并将其设置为该文件夹。 - 我试图将其设置为
C:\Program Files\nodejs\node_modules\npm\node_modules
(这并安装后存在) - 我也尝试创建下面的当前工作目录中
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太。
Doh!如果我在REPL中执行'npm install express',我会得到'npm应该在节点repl之外运行的消息,在你的普通shell中',我将其解释为'npm'是'node'的子命令,这就是为什么我在'cmd.exe'中运行'npm install express'节点。令人尴尬的新手错误。 –
那些其他的文章让我想起循环,因为他们谈论了很多关于'NODE_PATH'的内容。据我所见,如果你满足于本地安装(推荐),你根本不需要设置NODE_PATH。 –
那么也有npm模块只是日常使用的命令行工具。简单的HttpServer)。对于那些通过命令行可用的用户,您需要在NODE_PATH中使用它们。 –