我运行以下代码来安装下划线js模块:
npm install -g underscore
然后我尝试通过节点控制台访问它,但是我收到以下错误:
node
> __ = require('underscore');
Error: Cannot find module 'underscore'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at repl:1:6
at REPLServer.self.eval (repl.js:109:21)
at rli.on.self.bufferedCmd (repl.js:258:20)
at REPLServer.self.eval (repl.js:116:5)
at Interface.<anonymous> (repl.js:248:12)
at Interface.EventEmitter.emit (events.js:96:17)
为什么这个例子不起作用?
答案 0 :(得分:6)
我真的不知道为什么,但它确实失败了(当你在全球范围内安装下划线时)。
如果你在没有-g的情况下安装它,它应该工作(但要注意,因为'_'已被Node REPL用来保存最后一次操作的结果,如下所述: Using the Underscore module with Node.js
您真的需要在全球范围内安装吗?
答案 1 :(得分:4)
我遇到了同样的问题
$ export NODE_PATH=/usr/local/share/npm/lib/node_modules
为我整理出来;这显然取决于您的平台以及npm安装它的位置。另外,正如Javo的回答中所提到的,不要在REPL中将其命名为_。