3

设置:

我在 Windows 8 x64 机器上的系统 (C) 驱动器上安装了 NodeJS。我通过以下方式全局安装了 QUnit npm

npm install qunit -g

问题:

如果我尝试引用 QUnit:

var q = require('qunit');

从 C 驱动器上的任何目录运行 NodeJS 时,一切都按预期工作。但是,当我从位于辅助 E 驱动器上的项目目录中运行它时,Node 找不到我的全局安装包:

Error: Cannot find module 'qunit'
    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:9
    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)

在从辅助驱动器运行 NodeJS 时,我是否还缺少其他一些配置才能使用全局安装的包?这只是不受支持吗?我不想在本地安装它们并将它们签入源代码管理,但如果全局包不能从辅助驱动器工作,它是一个备份选项。

4

1 回答 1

4

https://npmjs.org/doc/folders.html

  • 本地安装(默认):将东西放在当前包根目录的 ./node_modules 中。
  • 全局安装(使用 -g):将内容放在 /usr/local 或安装节点的任何位置。
  • 如果您要 require() 它,请在本地安装它
  • 如果要在命令行上运行它,请全局安装它。
  • 如果两者都需要,则将其安装在两个位置,或使用 npm 链接。

为此,您可能需要考虑创建package.json文件。其中应该包括给定项目的所有依赖项。然后你应该能够运行npm install为你的项目安装所有给定的依赖项。

这里有一个关于创建 package.json 文件的相关答案。

于 2013-04-01T14:56:12.100 回答