我用npm install -g zmq
安装了名为zmq的模块
假设我在一个新目录中,并创建一个简单的node.js文件:
// test.js
var zmq = require('zmq');
console.log(zmq);
...如果我运行它,它将无法找到zmq
包,即使我在全局安装它。为了使脚本工作,我必须运行npm install zmq
而不使用-g标志,这会在同一目录中创建一个node_modules文件夹。我不想在那里找到node_modules文件夹。
我没有看到-g标志的用途,因为我的节点程序似乎都没有运行node_modules文件夹。
我在Mac上,但我在Windows和Linux上遇到了同样的问题。
我错过了什么?
答案 0 :(得分:2)
来自npm' s website:
- 本地安装(默认):将东西放入当前包根目录的./node_modules中。
- 全局安装(使用-g):将内容放入/ usr / local或安装节点的任何位置。
- 如果您需要(),请在本地安装。
- 如果您要在命令行上运行它,请全局安装。
它以这种方式构建,以便每个项目都可以保持单独的依赖关系,并且您在尝试找出哪个版本与全球级别的项目相关时没有任何问题。
我不确定是否有办法做你想做的事情,我也不认为这会被推荐,即使有。
希望这有帮助!