我在Ubuntu 12.10上安装了node.js 0.8.14。我在主目录中创建了一个目录,其中包含子目录node_modules
。我想在那里安装一些本地节点模块,但运行
npm install myModule
在此目录中将此模块安装在/usr/local/lib/node_modules/
中(与使用-g
标志安装模块的行为相同
.bashrc
中没有节点路径。
知道如何安装本地节点模块吗?
答案 0 :(得分:20)
经过一些进一步的研究后,我找到了解决方案。
运行命令npm config ls
显示默认配置global=false
(您看到npm config ls -l
的默认配置)已被global=true
/home/vsdev/.npmrc
中的/usr/local/etc/npmrc
覆盖{1}}。
将其还原为global=false
解决了问题。
答案 1 :(得分:3)
这很奇怪。
-g
参数。which npm
alias | grep npm
答案 2 :(得分:1)
npm install在node_modules中加载所有内容然后它可能是版本3行为http://blog.npmjs.org/post/110924823920/npm-weekly-5或者@vsdev所提到的,所以一旦你确定它的版本3行为并且你想要使用它,那么它的其他内容如下< / p>
1-将所有模块卸载到项目的node_modules文件夹中,然后执行:npm uninstall *
2-告诉npm使用旧版捆绑安装进行此次安装:
npm install --legacy-bundling A&#34;永久&#34;替代方法:
将您的npm配置设置为始终使用旧版捆绑...
npm set legacy-bundling = true
..并像往常一样运行:
npm install
*使用旧版捆绑获取依赖项将花费更多时间,因为将安装许多相同依赖项的不同版本。