我不确定100%,但是我相信我是从家用计算机和办公室PC上的Windows安装程序安装了节点v5。
在我的家用PC上,全局安装发生在%APPDATA%下:
(dev) go|c:\srv> which lessc c:\users\bjorn\appdata\roaming\npm\lessc c:\users\bjorn\appdata\roaming\npm\lessc.cmd
在我的办公室PC上,它们位于程序文件下:
(dev) go|w:\srv> which lessc c:\program files\nodejs\lessc c:\program files\nodejs\lessc.cmd
我需要为PyCharm的文件监视程序提供许多这些全局工具的完整路径,并且由于我共享的项目文件很有意义,因此在用户文件夹下没有全局资源。
为什么全局安装最终会位于不同的文件夹中,我如何将它们强制安装到所有团队成员都公用的位置?
根据:https : //docs.npmjs.com/files/folders
本地安装(默认):将内容放入当前软件包根目录的./node_modules中。 全局安装(带-g):将内容放入/ usr / local或安装节点的任何位置。 如果您需要require(),请在本地安装。 如果要在命令行上运行它,请全局安装它。->如果两者都需要,则将其安装在两个地方,或使用npm链接。 前缀配置 前缀config默认为节点安装的位置。在大多数系统上,这是/usr/local。 在Windows上,这是node.exe二进制文件的确切位置 。
前缀config默认为节点安装的位置。在大多数系统上,这是/usr/local。 在Windows上,这是node.exe二进制文件的确切位置 。
/usr/local
这些文档可能有些过时了,但是它们解释了为什么全局安装可以最终位于不同的目录中:
(dev) go|c:\srv> npm config ls -l | grep prefix ; prefix = "C:\\Program Files\\nodejs" (overridden) prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"
根据其他答案,替代似乎现在是Windows上的默认位置,并且在实施替代之前我可能已经安装了Office版本。
这也提出了一种解决方案,使所有团队成员将全局变量存储在相对于其PC的相同绝对路径中,即(以管理员身份运行):
mkdir %PROGRAMDATA%\npm setx PATH "%PROGRAMDATA%\npm;%PATH%" /M npm config set prefix %PROGRAMDATA%\npm
打开一个新的cmd.exe窗口,然后重新安装所有全局软件包。
说明(按行号):
setx .. /M
npm