在我的Windows安装中,PATH
包含C:\Program Files\nodejs
,其中可执行文件node.exe
。我可以从shell启动node
,以及npm
。我希望在C:\Program Files\nodejs
中安装新的可执行文件,但似乎无法实现。
设置NODE_PATH
和NODE_MODULES
变量不会改变任何内容:默认情况下仍会在%appdata%\npm
中安装内容。
如何更改全局安装路径?
答案 0 :(得分:71)
您需要的一切就是阅读npm-folders
documentation。我现在不想启动我的Win笔记本,所以我无法验证它,但您只应在配置文件中将prefix
更改为c:\Program Files\nodejs
。如果您想为所有用户全局更改,请修改c:\Program Files\nodejs\npmrc
文件,否则创建/编辑c:\Users\{username}\.npmrc
。
但是这个改变可能会有一些副作用,所以请先阅读this discussion。我认为你的想法并不好。
答案 1 :(得分:59)
尝试将全球软件包安装到C:\Program Files (x86)\nodejs\
,这给我以管理员身份运行问题,因为npm正在尝试安装到
C:\Program Files (x86)\nodejs\node_modules\
要解决此问题,请将全局安装目录更改为C:\Users\{username}\AppData\Roaming\npm
:
在C:\Users\{username}\
中,创建包含内容的.npmrc
文件:
prefix = "C:\\Users\\{username}\\AppData\\Roaming\\npm"
参考
npm install -g package
installs global packages into prefix location npm config ls -l
正在显示prefix = "C:\\Program Files (x86)\\nodejs"
环境
在Windows 7旗舰版N 64位SP1上将nodejs x86安装程序导入C:\Program Files (x86)\nodejs\
node --version
:v0.10.28
npm --version
:1.4.10
答案 2 :(得分:55)
您可以在我的answer to another question中看到我对此的回答。
在Windows中,全局安装路径实际上位于用户的个人资料目录中
%USERPROFILE%\AppData\Roaming\npm
%USERPROFILE%\AppData\Roaming\npm-cache
npm install
。一些模块/实用程序应该全局安装。...\npm
目录添加到用户路径。将所有用户的“全局”位置更改为更合适的共享全球位置%ALLUSERSPROFILE%\(npm|npm-cache)
(以管理员身份执行此操作):
[NODE_INSTALL_PATH]\etc\
目录
npm config --global ...
操作C:\ProgramData\npm-cache
- npm模块将在此处C:\ProgramData\npm
- 全局安装模块的二进制脚本将在此处C:\ProgramData\npm\node_modules
- 全球安装的模块将在此处npm config --global set prefix "C:\ProgramData\npm"
npm config --global set cache "C:\ProgramData\npm-cache"
C:\ProgramData\npm
添加到系统的路径环境变量如果您想将用户的“全球”位置更改为%LOCALAPPDATA%\(npm|npm-cache)
路径:
C:\Users\YOURNAME\AppData\Local\npm-cache
- npm模块将在此处C:\Users\YOURNAME\AppData\Local\npm
- 已安装模块的二进制脚本将在此处C:\Users\YOURNAME\AppData\Local\npm\node_modules
- 全球安装的模块将在此处npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
PATH
。
setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"
答案 3 :(得分:18)
基于chocolatey
的安装概念和@Tracker建议的想法,对我有用的是做以下操作,然后Windows上的所有用户都很高兴使用nodejs
和{{1 }}
选择npm
作为C:\ProgramData\nodejs
的安装目录,并与任何属于管理员组成员的用户安装nodejs
。
在安装目录的根目录下创建一个名为nodejs
的文件夹,在此之后将是npm-cache
。
在安装目录的根目录下创建一个名为C:\ProgramData\nodejs\npm-cache
的文件夹,在此之后将是etc
。
将C:\ProgramData\nodejs\etc
环境变量设置为NODE
。
将C:\ProgramData\nodejs
环境变量设置为NODE_PATH
。
确保先前在上面创建的C:\ProgramData\nodejs\node_modules
环境变量已添加(或其路径)添加到%NODE%
环境变量。
使用以下内容%PATH%
%NODE_PATH%\npm\npmrc
在命令提示符下,设置全局配置,如此...
prefix=C:\ProgramData\nodejs
npm config --global set prefix "C:\ProgramData\nodejs"
重要的是,上述步骤最好按顺序进行,然后再更新npm(npm config --global set cache "C:\ProgramData\nodejs\npm-cache"
)或尝试安装任何npm -g install npm@latest
模块。
执行上述步骤有助于我们在系统范围内安装npm
,并且具有适当权限的所有用户都可以轻松使用。然后,每个用户都可以根据需要运行nodejs
和node
。
答案 4 :(得分:13)
您应该使用此命令设置npm包的全局安装移位
(git bash) npm config --global set prefix </path/you/want/to/use>/npm
(cmd / git-cmd) npm config --global set prefix <drive:\path\you\want\to\use>\npm
您也可以考虑旁边的npm-cache
位置。 (就像在Windows上正常的nodejs安装一样)
(git bash) npm config --global set cache </path/you/want/to/use>/npm-cache
(cmd / git-cmd) npm config --global set cache <drive:\path\you\want\to\use>\npm-cache
答案 5 :(得分:4)
默认的全局文件夹是C:\Users\{username}\AppData\Roaming\npm
。
您可以在.npmrc
中创建(如果不存在)C:\Users\{username}\
文件并添加
prefix = "path\\to\\yourglobalfolder"
。
请注意,在Windows中,路径应以double back-slash
分隔。
答案 6 :(得分:4)
步骤1 :npm config get prefix
%USERPROFILE%\AppData\Roaming\npm
第2步:npm config get cache
%USERPROFILE%\AppData\Roaming\npm-cache
第3步:npm config set prefix <Your New Location>\npm
npm config set prefix C:\\dev\\node\\npm
步骤4 :npm config set cache <Your New Location>\npm-cache
npm config set cache C:\\dev\\node\\npm-cache
再次运行第1步和第2步,以检查路径是否按要求更新
就这样。每当您安装全局软件包时,您都应该看到它们已安装在\ npm \ node_modules
答案 7 :(得分:3)
使用 C:\ Users {username} \ AppData \ Roaming \ npm 和 C:\ Users {username} \ AppData \ Roaming \ npm-cache <中的Windows符号链接/ em>到目的地的路径对我来说很有用。
答案 8 :(得分:1)
在Windows中,如果要将磁盘C中的npm或nodejs文件夹移动到另一个位置,但它仍然确保node和npm正常工作,则可以创建符号链接,如下所示: 打开命令提示符:
mklink /D "your_location_want_to_create_symlink" "location_of_node_npm_file"
示例:
mklink /D "C:\Users\MyUser\AppData\Roaming\npm" "D:\Nodejs Data\npm"
现在你已经为npm文件夹创建了一个符号链接,这个符号链接将引用D:\Nodejs Data\npm
一切都会正常工作。
答案 9 :(得分:0)
我在这里尝试了大部分答案似乎在我的案例中似乎没有用。所以我将env变量中的Temp位置更改为C:\ npm。然后它开始工作。这不是一个好主意,而是一个临时解决方案。
答案 10 :(得分:0)
从程序文件夹中完全删除节点文件夹。卸载node.js,然后重新安装。 更改环境变量PATH的路径。从C:\ users \ yourusername
删除.npmrc文件答案 11 :(得分:0)
不需要太多配置,只需转到高级系统设置,复制您安装节点的路径,然后创建一个环境变量,并在提示中使用node -v命令进行检查即可!
答案 12 :(得分:0)
要在Windows中更改node.js(npm)模块的默认全局安装目录,您需要修复2条路径。
尝试使用以下命令在全局安装节点模块时,请首先检查节点模块的当前安装路径:
npm列表-g --depth = 0
它将返回您当前正在安装节点模块的当前路径。 范例:D:\ vsc \ typescript
现在访问以下路径以查看npm和npm-cache文件夹。 C:\ Users \用户名(OR号)\ AppData \ Roaming
在C驱动器的Roaming文件夹中,您将找到npm和npm-cache文件夹。 点击+ npm +文件夹,然后选择路径[只需单击条形路径将被自动选择并复制]。This is a path image which you need to select
复制此路径后,将其设置为环境变量,并使用变量名Path(可以选择任何名称)。 现在您已经设置了npm文件夹的路径,现在是时候设置前缀了。 进入npm文件夹,检查是否存在node_module文件夹,如果不存在,则创建一个名为node_modules的新文件夹。 完成所有步骤后,所有全局模块都将进入此文件夹。
最后一步: 转到CMD,然后右键单击以下命令:
npm设置前缀C:\ Users \ username(Number)\ AppData \ Roaming \ npm \ node_modules
同样,这是我们为环境变量选择的路径,我们只是在路径中添加了一个文件夹,即node_module。
所有设置。...立即尝试...它将起作用。
答案 13 :(得分:0)
通过以下命令查找全局节点软件包安装的当前路径。
npm列表-g --depth = 0
通过以下命令将此路径更改为正确的路径。
npm设置前缀C:\ Users \ username(Number)\ AppData \ Roaming \ npm \ node_modules
对我有用。阅读我以前的答案以更好地理解。