在Windows中更改node.js模块的默认全局安装目录?

gre*_*emo 124 node.js npm

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

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

如何更改全局安装路径?

ivo*_*szz 75

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

但是这种改变可能会有一些副作用,所以请先阅读此讨论.我认为你的想法并不好.

  • 我在`C:\ path \到\nodejs \node_modules \npm \npmrc`找到`npmrc`文件 (32认同)
  • 如果在安装模块和缓存位于共享驱动器中时遇到问题,也可以使用`npm config set cache <new cache location> --global`将npm缓存位置更改为本地目录.当缓存在共享驱动器中时,我收到此错误,"ENOENT:没有这样的文件或目录" (3认同)

Jak*_*ger 62

试图安装全球包装成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"

参考

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

  • 这很奇怪,我使用的是 npm 2.1.6,它正在将所有全局模块安装在 %appdata%/npm 中,现在我将其更新到 2.6.1,它不断尝试(但失败)安装到 c:\windows\程序文件\..您知道这种行为何时发生变化吗? (2认同)
  • npm config set prefix C:\ Users\{username}\AppData\Roaming \npm (2认同)

Tra*_*er1 58

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


在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模块创建全局(admin)位置
    • 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到系统的Path环境变量中

如果要将用户的"全局"位置更改为%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"


Dam*_*ola 18

基于chocolatey@Tracker建议的安装概念和想法,对我有用的是做以下操作,然后Windows上的所有用户都很乐意nodejs和他们一起工作npm.

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

创建一个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(npm -g install npm@latest)或尝试安装任何npm模块之前执行.

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


dav*_*oem 14

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


小智 12

  • 第 1 步

    npm config 获取前缀

    • 默认路径是: %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 中