添加一个名为的环境变量NODE_PATH
,并将其设置为%USERPROFILE%\Application Data\npm\node_modules
(Windows XP),%AppData%\npm\node_modules
(Windows 7/8/10)或npm最终在您的Windows风味上安装模块的位置。要一劳永逸地完成此操作,请在“系统属性”对话框(运行control.exe sysdm.cpl,System,3
)的“高级”选项卡中将其添加为系统变量。
Windows 7+中的快速解决方案是仅运行:
rem for future
setx NODE_PATH %AppData%\npm\node_modules
rem for current session
set NODE_PATH=%AppData%\npm\node_modules
值得一提的NODE_PATH
是,仅在Node应用程序中导入模块时使用。如果要在CLI中使用全局安装的模块的二进制文件,则需要将其也添加到您的中PATH
,但不要添加任何node_modules
部分(例如,%AppData%\npm
在Windows 7/8/10中)。
旧故事
我本人对node.js相当陌生,因此我可能并不完全正确,但是根据我的经验,它是这样工作的:
- -g并不是安装全局库的方法,它只是将它们放置在系统路径上的一种方法,因此您可以从命令行调用它们,而无需编写它们的完整路径。例如,这很有用,那么节点应用程序将转换本地文件,而不是更少。如果在全球范围内安装它,则可以在任何目录中使用它。
- node.js本身并未查看npm全局目录,而是使用另一种算法来查找所需文件:http : //nodejs.org/api/modules.html#modules_file_modules(基本上是扫描路径中的每个文件夹,从头开始从当前的node_modules文件夹中进行检查)。
有关更多详细信息,请参见类似的问题:如何使用npm全局安装模块?