我不是百分百确定,但我相信我在家用和办公室PC上安装了Windows安装程序的v5节点。
在我的家用电脑上,全局安装发生在%APPDATA%:
下(dev) go|c:\srv> which lessc
c:\users\bjorn\appdata\roaming\npm\lessc
c:\users\bjorn\appdata\roaming\npm\lessc.cmd
在我的办公室电脑上,他们会在程序文件下:
(dev) go|w:\srv> which lessc
c:\program files\nodejs\lessc
c:\program files\nodejs\lessc.cmd
我需要向PyCharm的文件监视器提供许多这些全局工具的完整路径,并且由于我共享它的项目文件,因此在用户文件夹下没有全局资源是有意义的。
为什么全局安装会在不同的文件夹中结束,如何强制它们到所有团队成员共有的位置?
答案 0 :(得分:34)
根据:https://docs.npmjs.com/files/folders
- 本地安装(默认):将东西放入当前包根目录的./node_modules中。
- 全局安装(使用-g):将内容放入/ usr / local或安装节点的任何位置。
- 如果您需要(),请在本地安装。
- 如果您要在命令行上运行它,请全局安装它。 - >如果您需要两者,请在两个地方安装,或使用npm link。
前缀配置
前缀配置默认为安装节点的位置。上 大多数系统,这是
/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%\npm
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
npm config set prefix %PROGRAMDATA%\npm
打开一个新的cmd.exe窗口并重新安装所有全局包。
解释(by lineno。):
setx .. /M
来设置
系统路径(在HKEY_LOCAL_MACHINE下)。这就是要求你运行的东西
这在具有管理员权限的shell中。npm
使用此新路径。 (注意:文件夹在%PATH%in中不可见
这个shell,所以你必须打开一个新窗口。)。答案 1 :(得分:26)
如果您全局安装软件包,这些是典型的npm路径:
Windows XP - %USERPROFILE%\Application Data\npm\node_modules
Newer Windows Versions - %AppData%\npm\node_modules
答案 2 :(得分:11)
只需按下Windows按钮并输入%APPDATA%并输入enter。
上面是您可以找到\ npm \ node_modules文件夹的位置。这是全局模块在您系统中的位置。
答案 3 :(得分:0)
截至今天,已安装全局软件包,例如。 npm i -g @vue/cli
默认存储在目录中:
C:\Users\<YourUserName>\AppData\Roaming\npm\node_modules
答案 4 :(得分:-2)
如果您只是想找出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个程序包