在非系统驱动器上运行NodeJS

时间:2013-04-01 14:23:17

标签: javascript node.js npm qunit

设定:

我在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时,是否还有一些其他配置我无法使用全局安装的软件包?这只是不受支持吗?我不想在本地安装它们并将它们检查到源代码管理中,但如果全局程序包无法在辅助驱动器上运行,那么它是一个备份选项。

1 个答案:

答案 0 :(得分:4)

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

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

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

有关创建package.json文件的相关答案here