node_modules 包下载管理
资源下载管理
npm
bash
# 设置 npm 的默认 registry
npm config set registry <registry-url>
# 设置 npm 的二进制包的下载地址。
npm config set disturl <dist-url>pnpm
- 当前项目常用
- 可分全局和局部配置
bash
# 切换下载源
pnpm config set registry <registry-url>
# 设置其他 registry
pnpm config set registry http://your-private-registry-url
# 查看当前的配置
pnpm config lsyarn
npm install -g yarncnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org使用:
安装包:
cnpm install <package-name>其他 npm 命令可以用
cnpm替代。
npx
- 临时操作
bash
# 临时指定 registry 或 disturl
npx --registry=<registry-url>Node 切换版本
bash
# fnm nodejs 版本切换
https://github.com/Schniz/fnm?tab=readme-ov-file
# asdf 多语言版本版本切换
https://github.com/asdf-vm/asdf
# volta nodejs 版本切换
https://docs.volta.sh/reference/
# nodejs 版本切换工具 mac
https://github.com/tj/n
# nvm 最长久的 nodejs 管理工具
https://github.com/nvm-sh/nvm如果你只需要管理 Node.js 版本:
fnm是一个轻量级的选择,特别适合快速切换和管理全局 Node.js 版本。Volta也可以考虑,它提供了更多的整合性和项目级版本控制功能,适合需要在不同项目中使用不同 Node.js 版本的情况。
如果你需要管理多种编程语言的版本:
asdf是一个更通用的选择,支持多种语言的版本管理,包括 Node.js、Python、Ruby 等。它能够为你提供一个统一的工具来管理各种语言环境的版本。单一需求且仅需管理 Node.js 版本:使用
fnm。需要同时管理多种语言的版本:使用
asdf。希望有更多项目级别控制和整合性:可以考虑
Volta,尤其是在需要管理 Node.js 以及相关工具(如npm、yarn)的场景。
Node切换下载源
bash
# nrm 切换 npm 下载源
https://github.com/Pana/nrm
# yrm 切换 yarn 和 npm 下载源
https://github.com/17hz/yrmnrm
bash
# 切换下载源
npm install -g nrm
# 查看
nrm ls
# 切换
nrm use <registry>
nrm use taobao
# 添加
# 私有域名 私有npm包地址
nrm add <registry> <url>yrm
bash
# 切换下载源 同时切换 npm yarn
npm install -g yrm
# 查看
yrm ls:列出可用的 registry 列表。
# 切换
yrm use <registry-name>:切换到指定的 registry。
yrm use taobao
# 添加新的
yrm add <registry-name> <registry-url>:添加新的 registry。配置文件
- 全局下有一个
- 项目下也有一个
.yarnrc
bash
.yarnrc
# 下载源
registry=https://registry.npmmirror.com
shamefully-hoist=true.npmrc
- 项目下的下载源指定
bash
.npmrc
# 下载源
registry=https://registry.npmmirror.com
shamefully-hoist=true使用代理
bash
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
yarn config set proxy http://proxy.company.com:8080
yarn config set https-proxy http://proxy.company.com:8080registry 和disturl 的区别
功能:
registry主要用于指定包管理器操作时所使用的注册表地址,影响包的查找、下载和发布。disturl主要用于指定 Node.js 安装器在安装 Node.js 时所使用的二进制包下载地址,影响 Node.js 的安装速度和稳定性。
使用场景:
registry在包管理操作中很常见,影响到 npm 包的管理和发布。disturl则在安装 Node.js 时使用,影响到 Node.js 的安装过程。****
工作实践
Win 配置
搜狗输入法 案件冲突
ctrl + k
中文时使用因为符号npm 默认安装路径
bash
# 查看安装路径
npm config ls
#查看全部默认配置
npm config ls -l
# 修改路径为
npm config set prefix "D:\Develop\nodejs\node_global"
npm config set cache "D:\node_global\node_global_cache"由于路径改变,系统变量需要重新配置:
变量名:NODE_PATH
变量值:D:\node_global\node_global_modules\
增加用户变量
在path路径追加%NODE_PATH%
