Windows上的全局npm安装位置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows上的全局npm安装位置?相关的知识,希望对你有一定的参考价值。
我不是百分百肯定,但我相信我在家用和办公室PC上安装了Windows安装程序的v5节点。
在我的家用电脑上,全局安装发生在%APPDATA%下:
(dev) go|c:srv> which lessc
c:usersjornappdata
oaming
pmlessc
c:usersjornappdata
oaming
pmlessc.cmd
在我的办公室电脑上,他们在程序文件下:
(dev) go|w:srv> which lessc
c:program files
odejslessc
c:program files
odejslessc.cmd
我需要向PyCharm的文件监视器提供许多这些全局工具的完整路径,并且由于我共享它的项目文件,因此在用户文件夹下没有全局资源是有意义的。
为什么全局安装最终会出现在不同的文件夹中,如何强制它们到达所有团队成员共有的位置?
根据:https://docs.npmjs.com/files/folders
- 本地安装(默认):将东西放在当前包根目录的./node_modules中。
- 全局安装(使用-g):将东西放入/ usr / local或安装节点的任何位置。
- 如果你想要()它在本地安装它。
- 如果要在命令行上运行它,请全局安装它。 - >如果你需要两者,那么在两个地方安装它,或使用npm链接。
prefix Configuration
前缀config默认为安装节点的位置。在大多数系统中,这是
/usr/local
。在Windows上,这是node.exe二进制文件的确切位置。
文档可能有点过时,但它们解释了为什么全局安装最终会出现在不同的目录中:
(dev) go|c:srv> npm config ls -l | grep prefix
; prefix = "C:\Program Files\nodejs" (overridden)
prefix = "C:\Users\bjorn\AppData\Roaming\npm"
基于其他答案,看起来覆盖现在是Windows上的默认位置,并且我可能在实现此覆盖之前安装了我的办公室版本。
这也提出了一个解决方案,让所有团队成员将全局变量存储在相对于其PC的相同绝对路径中,即(以管理员身份运行):
mkdir %PROGRAMDATA%
pm
setx PATH "%PROGRAMDATA%
pm;%PATH%" /M
npm config set prefix %PROGRAMDATA%
pm
打开一个新的cmd.exe窗口并重新安装所有全局包。
解释(by lineno。):
- 在一个合理的位置创建一个文件夹来保存全局变量(Microsoft坚持认为你不应该写入ProgramFiles,所以%PROGRAMDATA%似乎是下一个逻辑位置。
- 该目录需要位于路径上,因此请使用
setx .. /M
设置系统路径(在HKEY_LOCAL_MACHINE下)。这就要求您在具有管理员权限的shell中运行它。 - 告诉
npm
使用这条新路径。 (注意:此shell中的%PATH%中不显示该文件夹,因此您必须打开一个新窗口)。
如果您全局安装包,这些是典型的npm路径:
Windows XP - %USERPROFILE%Application Data
pm
ode_modules
Newer Windows Versions - %AppData%
pm
ode_modules
只需按下Windows按钮并输入%APPDATA%并输入enter。
上面是您可以找到 npm node_modules文件夹的位置。这是全局模块在您的系统中的位置。
如果您只是想找出npm安装全局模块的位置(此线程的标题),请在运行npm install -g sample_module
时查看输出
$ npm install -g sample_module C: Users user AppData Roaming npm sample_module - > C: Users user AppData Roaming npm node_modules sample_module bin sample_module.js + sample_module@5.1.0在2.821s更新了1个包
以上是关于Windows上的全局npm安装位置?的主要内容,如果未能解决你的问题,请参考以下文章
Windows上的Jhipster uml安装问题:msbuild.exe上的NPM失败,退出代码为1