设定:
我在Windows 8 x64计算机上的系统(C)驱动器上安装了NodeJS。我通过npm
全球安装了QUnit:
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时,是否还有一些其他配置我无法使用全局安装的软件包?这只是不受支持吗?我不想在本地安装它们并将它们检查到源代码管理中,但如果全局程序包无法在辅助驱动器上运行,那么它是一个备份选项。
答案 0 :(得分:4)
https://npmjs.org/doc/folders.html
- 本地安装(默认):将东西放入当前包根目录的./node_modules中。
- 全局安装(使用-g):将东西放入/ usr / local或安装节点的任何位置。
- 如果您要求(),请在本地安装。
- 如果要在命令行上运行它,请全局安装它。
- 如果您需要两者,请在两个地方安装,或使用npm link。
要执行此操作,您可能需要考虑创建package.json
文件。其中应包括给定项目的所有依赖项。然后,您应该能够运行npm install
来安装项目的所有给定依赖项。
有关创建package.json文件的相关答案here。