首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让"npm install -g“在任何包上工作(AppData/Roaming/npm始终为空)

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

Stack Overflow用户
提问于 2015-09-11 05:46:18
回答 1查看 11.2K关注 0票数 6

在工作中在Windows 7企业版上运行nodejs。

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

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

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

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-11 08:26:41

找到解决方案:

(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条目。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32512154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档