the*_*orn 54 windows node.js pycharm npm
我不是百分百肯定,但我相信我在家用和办公室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
Run Code Online (Sandbox Code Playgroud)
在我的办公室电脑上,他们在程序文件下:
(dev) go|w:\srv> which lessc
c:\program files\nodejs\lessc
c:\program files\nodejs\lessc.cmd
Run Code Online (Sandbox Code Playgroud)
我需要向PyCharm的文件监视器提供许多这些全局工具的完整路径,并且由于我共享它的项目文件,因此在用户文件夹下没有全局资源是有意义的.
为什么全局安装最终会出现在不同的文件夹中,如何强制它们到达所有团队成员共有的位置?
the*_*orn 48
根据:https://docs.npmjs.com/files/folders
- 本地安装(默认):将东西放在当前包根目录的./node_modules中.
- 全局安装(使用-g):将东西放入/ usr/local或安装节点的任何位置.
- 如果你想要()它在本地安装它.
- 如果要在命令行上运行它,请全局安装它. - >如果你需要两者,那么在两个地方安装它,或使用npm链接.
前缀配置
前缀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"
Run Code Online (Sandbox Code Playgroud)
基于其他答案,看起来覆盖现在是Windows上的默认位置,并且我可能在实现此覆盖之前安装了我的办公室版本.
这也提出了一个解决方案,让所有团队成员将全局变量存储在相对于PC的相同绝对路径中,即(以管理员身份运行):
mkdir %PROGRAMDATA%\npm
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
npm config set prefix %PROGRAMDATA%\npm
Run Code Online (Sandbox Code Playgroud)
打开一个新的cmd.exe窗口并重新安装所有全局包.
解释(by lineno.):
setx .. /M
设置系统路径(在HKEY_LOCAL_MACHINE下).这就要求您在具有管理员权限的shell中运行它.npm
使用这条新路径.(注意:此shell中的%PATH%中不显示该文件夹,因此您必须打开一个新窗口).小智 31
如果您全局安装包,这些是典型的npm路径:
Windows XP - %USERPROFILE%\Application Data\npm\node_modules
Newer Windows Versions - %AppData%\npm\node_modules
Run Code Online (Sandbox Code Playgroud)
小智 5
截至今天,全局软件包已安装,例如。npm i -g @vue/cli
默认情况下存储在目录中:
C:\Users\<YourUserName>\AppData\Roaming\npm\node_modules
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
84414 次 |
最近记录: |