无法让“npm install -g”在任何软件包上工作(AppData / Roaming / npm始终为空)

在Windows 7 Enterprise上运行nodejs。

每当我安装一个需要-g访问的node_module时,我知道它应该在%AppData$/Roaming/npm创build一个* .bat文件,但由于某种原因,它不再那么做。

例如,我将运行npm install gulp -g ,控制台看起来像安装正确,但文件不会在AppData文件夹中。 如果我尝试运行sh.exe": gulp: command not found命令,我得到错误sh.exe": gulp: command not found

如果我以pipe理员npm install gulp -g在控制台中运行npm install gulp -g命令,则会将这些文件安装到pipe理员(而不是普通用户)的%AppData%文件夹中。 所以如果我通过非pipe理员用户运行sh.exe": gulp: command not found ,我仍然得到错误sh.exe": gulp: command not found

有任何想法吗?

find解决scheme

(1)运行命令: npm config get prefix ,输出是C:\Program Files (x86)\Git\local 。 不知道为什么它被设置,因为它不是默认的。

但是我改变了它: npm config set prefix "$APPDATA\npm"

现在当我安装一个 – g模块,即。 npm install gulp -g ,它安装到这个理想的目录下,不再抛出EPERMENOENT错误。

(2)仍然需要为npm文件夹添加一个PATH条目。 命令export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm暂时工作,但是如果closures控制台并再次打开,可能不会保存(如果您不是pipe理员)。

但是你也可以使用echo 'export PATH=$PATH:/c/Users/{YOUR_USERNAME}/AppData/Roaming/npm' >> ~/.bash_profile ,它会创build一个.bash_profile文件,每次运行控制台打开。 所以从这一点来说,它应该自动添加所需的PATH条目。