152

在我的 Windows 安装中,PATH包括C:\Program Files\nodejs可执行文件所在node.exe的位置。我能够node从 shell 启动,以及npm. 我也想安装新的可执行文件C:\Program Files\nodejs,但似乎不可能实现。

设置NODE_PATHNODE_MODULES变量不会改变任何东西:%appdata%\npm默认情况下仍然安装了东西。

如何更改全局安装路径?

4

14 回答 14

90

您需要的一切都在npm-folders文档中。我现在不想启动我的 Win 笔记本,所以我无法验证它,但你应该只在你的配置文件中更改prefix为。C:\Program Files\nodejs如果要为所有用户全局更改它,请编辑C:\Program Files\nodejs\npmrc文件,否则创建/编辑C:\Users\{username}\.npmrc

但是这种变化可能会产生一些副作用,因此请先阅读此讨论。我不认为这是一个好主意。

于 2013-11-09T12:42:23.420 回答
74

尝试将全局包安装到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"

参考

环境
nodejs x86 安装程序进入C:\Program Files (x86)\nodejs\Windows 7 Ultimate N 64 位 SP1
node --version:v0.10.28
npm --version:1.4.10

于 2014-05-10T20:38:18.073 回答
67

您可以在我对另一个问题的回答中看到我对此的回答。


在 Windows 中,全局安装路径实际上是在您用户的配置文件目录中

  • %USERPROFILE%\AppData\Roaming\npm
  • %USERPROFILE%\AppData\Roaming\npm-cache
  • 警告:如果您以其他用户身份执行定时事件或其他自动化操作,请确保npm install以该用户身份运行。一些模块/实用程序应该全局安装。
  • 安装程序错误:您可能必须自己创建这些目录或将...\npm目录添加到您的用户路径。

要将所有用户的“全局”位置更改为更合适的共享全局位置%ALLUSERSPROFILE%\(npm|npm-cache)(以管理员身份执行此操作):

  • 创建[NODE_INSTALL_PATH]\etc\目录
    • 这是在您尝试npm config --global ...操作之前需要的
  • 为 npm 模块创建全局(管理员)位置
    • 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
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • 将新的 npm 路径添加到环境的PATH.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"
于 2014-11-12T18:42:53.673 回答
20

chocolatey基于@Tracker的安装概念和建议的想法,对我有用的是执行以下操作,Windows 上的所有用户都乐于使用nodejsand npm

选择作为管理员组成员的任何用户的C:\ProgramData\nodejs安装目录nodejs并与它一起安装。nodejs

这可以用巧克力来完成:choco install nodejs.install -ia "'INSTALLDIR=C:\ProgramData\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 config --global set cache "C:\ProgramData\nodejs\npm-cache"

npm -g install npm@latest重要的是,最好在更新 npm ( ) 或尝试安装任何npm模块之前按顺序执行上述步骤。

执行上述步骤有助于我们nodejs作为系统范围的安装运行,所有具有适当权限的用户都可以轻松使用。node然后每个用户都可以npm根据需要运行。

于 2015-01-19T17:05:29.150 回答
16
  • 第 1 步

    npm 配置获取前缀

    • 默认路径是:%USERPROFILE%\AppData\Roaming\npm
  • 第 2 步

    npm 配置获取缓存

    • 默认路径是:%USERPROFILE%\AppData\Roaming\npm-cache
  • 第 3 步

    npm 配置设置前缀 \npm

    • 例子npm config set prefix C:\\dev\\node\\npm
  • 第 4 步

    npm 配置设置缓存 \npm-cache

    • 例子npm config set cache C:\\dev\\node\\npm-cache

再次运行步骤 1 和 2 以检查路径是否按要求更新

而已。每当您安装全局包时,您应该看到它们安装在 \npm\node_modules 中

于 2019-09-04T17:43:59.960 回答
15

您应该使用此命令设置 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

于 2017-03-20T21:10:23.417 回答
4

默认全局文件夹是C:\Users\{username}\AppData\Roaming\npm. 您可以在其中创建(如果不存在).npmrc文件C:\Users\{username}\并添加 prefix = "path\\to\\yourglobalfolder". 请注意,在 Windows 中,路径应以double back-slash.

于 2014-12-02T04:20:19.437 回答
3

使用从C:\Users{username}\AppData\Roaming\npmC:\Users{username}\AppData\Roaming\npm-cache路径到目的地的 Windows 符号链接对我来说非常有用。

如何添加符号链接

在此处输入图像描述

于 2016-06-08T00:00:34.753 回答
1

通过以下命令查找全局节点包安装的当前路径。

npm list -g --depth=0

通过以下命令将此路径更改为正确的路径。

npm 设置前缀 C:\Users\username(Number)\AppData\Roaming\npm\node_modules

它对我有用。阅读我之前的答案以获得更好的理解。

于 2019-07-18T20:16:11.130 回答
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\npmEverything will work well。

于 2016-07-07T16:05:16.140 回答
0

从程序文件夹中完全删除节点文件夹。卸载 node.js 然后重新安装。更改环境变量 PATH 的路径。从 C:\users\yourusername 删除 .npmrc 文件

于 2018-02-05T11:33:28.627 回答
0

要更改 Windows 中 node.js(npm) 模块的默认全局安装目录,您需要修复 2 个路径。

当您尝试使用以下命令全局安装节点模块时,首先检查当前安装节点模块的路径:

npm list -g --depth=0

它将返回您当前正在安装节点模块的路径。示例:D:\vsc\typescript

现在访问以下路径以查看 npm 和 npm-cache 文件夹。C:\Users\用户名(或号码)\AppData\Roaming

在 C 盘的 Roaming 文件夹中,您会找到 npm 和 npm-cache 文件夹。点击+npm+文件夹,选择路径【直接点击吧路径会自动选择,复制一下】。这是您需要选择的路径图像

复制此路径后,将其设置为环境变量,并使用变量名称 Path(您可以选择任何名称作为名称)。现在你已经为你的 npm 文件夹设置了路径,现在是时候设置前缀了。进入 npm 文件夹并检查 node_module 文件夹是否存在,如果不存在,则创建一个名为 node_modules 的新文件夹。完成所有步骤后,您所有的全局模块都将进入此文件夹。

最后一步:转到 CMD 并正确执行以下命令:

npm 设置前缀 C:\Users\username(Number)\AppData\Roaming\npm\node_modules

同样,这与我们为环境变量选择的路径相同,我们只是在路径中添加了一个文件夹,即 node_module。

一切就绪......现在试试......它会工作......

于 2019-07-18T20:10:39.167 回答
0

它不需要太多配置,只需转到高级系统设置,复制您安装节点的路径,然后创建一个环境变量并在提示符中使用 node -v 命令检查!

于 2018-09-19T04:35:23.107 回答
0

我在这里尝试了大多数答案,在我的情况下似乎没有任何效果。所以我将环境变量中的 Temp 位置更改为 C:\npm。然后它开始工作。这不是一个好主意,而是一个临时解决方案。

于 2016-04-26T18:32:55.567 回答