6

我运行以下代码来安装下划线 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)

为什么这个例子不起作用?

4

2 回答 2

6

我真的不知道为什么,但它确实失败了(在全局安装下划线时,就像你所做的那样)。

如果你在没有 -g 的情况下安装它,它应该可以工作(但是要小心,因为 Node REPL 已经使用 '_' 来保存最后一次操作的结果,如下所述: Using the Underscore module with Node.js

你真的需要全局安装吗?

于 2013-04-02T16:49:46.433 回答
4

我只是有同样的问题

$ export NODE_PATH=/usr/local/share/npm/lib/node_modules

帮我解决了;这显然取决于您的平台以及 npm 安装它的位置。此外,正如 Javo 的回答中所述,不要在 REPL 中将其命名为 _ 。

于 2013-06-06T20:59:46.333 回答