2015-09-10 41 views
1

在Windows 7 Enterprise上运行nodejs。无法在任何程序包上运行“npm install -g”(AppData/Roaming/npm始终为空)

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

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

如果我在Console As Administrator中运行npm install gulp -g命令,它会将这些文件安装到管理员(而不是普通用户)的%AppData%文件夹中。因此,如果我通过非管理员用户运行gulp命令,我仍然收到错误sh.exe": gulp: command not found

任何想法?

回答

1

实测溶液:

(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暂时工作,但如果关闭控制台并再次打开,可能无法保存(如果您不是管理员)。

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

+0

花费时间寻找可行的解决方案。谢谢! –

+0

我也在这个上浪费了几个小时。 Pppppppppppppp。软件开发,好吗? – ngDeveloper

+0

要导出路径,您还可以编辑系统环境变量; path =%appdata%/ npm; –

相关问题