【发布时间】:2014-11-13 02:47:03
【问题描述】:
从控制台运行
> npm root -g
或以编程方式
var npm = require("npm");
npm.load(null, function (err, npm) {
npm.config.set("global", true);
npm.root;
});
我在 Windows 上得到不同的结果。第一个返回C:\Users\myuser\AppData\Roaming\npm\node_modules,第二个返回C:\Program Files (x86)\nodejs\node_modules。当我安装模块时也会发生同样的情况,以编程方式尝试将其安装在程序文件而不是 AppData 上。
这可能是一个错误吗?还是我做错了什么?
在 linux 上它始终如一地工作。我没有在 Mac 上尝试过。
更新:我在 Mac 上试过了,效果很好。
【问题讨论】:
-
我在旧版本的 NPM 中遇到过这种情况。你用的是什么版本?
-
1.2.10(注意:所以希望 cmets 至少为 15 个字符,所以我必须添加此注释)
-
节点 0.10.20 和之后的
npm install -g npm也会发生这种情况。至少如果节点不是全新安装的话。也许在那种情况下它不会发生?答案中提到的 npmrc 甚至都不存在。