mac安装nvm=>node=>nrm

下载并安装 NVM

运行以下命令下载并安装 NVM:

复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash

配置环境变量

复制代码
vim ~/.zshrc

按 i 将如下代码复制进去,control+c ,再按 :wq完成编辑

复制代码
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

更新配置文件

复制代码
source ~/.zshrc

查看安装版本

复制代码
nvm --version

使用 NVM 安装 Node.js

查看可用的 Node.js 版本:

复制代码
nvm ls-remote

安装特定版本的 Node.js:

复制代码
nvm install <version>  # 替换为具体版本号,例如 `nvm install 20`

也可以安装最新版本:

复制代码
nvm install node

切换 Node.js 版本:

复制代码
nvm use <version>

设置默认版本:

复制代码
nvm alias default <version>

验证 Node.js 和 npm 安装

安装完成后,运行以下命令验证 Node.js 和 npm 是否安装成功:

bash复制

复制代码
node -v
npm -v

安装其他工具(可选)

如果需要,可以安装 Yarn 或 pnpm:

bash复制

复制代码
npm install --global yarn
npm install --global pnpm

通过以上步骤,你可以在 macOS 上使用 NVM 管理 Node.js 版本,并根据项目需求轻松切换不同版本。

安装 nrm

nrm 是一个用于快速切换 npm 镜像源的工具,可以帮助你提高 npm 包的下载速度。在安装 nrm 之前,请确保你已经安装了 Node.js 和 npm。

1. 安装命令

使用 npm 全局安装 nrm

复制代码
npm install -g nrm

如果安装过程中遇到网络问题,可以先切换 npm 源到国内镜像(如淘宝源),然后再安装。

2. 验证安装

安装完成后,运行以下命令查看 nrm 版本:

复制代码
nrm --version

如果显示版本号,则说明安装成功。

3. 使用 nrm

查看可用的 npm 源

运行以下命令查看当前可用的 npm 镜像源:

复制代码
nrm ls

输出示例:

复制代码
* npm ---- https://registry.npmjs.org/
  taobao - https://registry.npm.taobao.org/
  cnpm --- https://r.cnpmjs.org/

* 的表示当前正在使用的源。

切换 npm 源

使用以下命令切换到指定的 npm 源,例如切换到淘宝源:

复制代码
nrm use taobao

切换成功后,可以运行以下命令确认当前使用的源:

复制代码
nrm current

测试源的速度

运行以下命令测试所有源的响应速度,选择速度最快的源:

bash复制

复制代码
nrm test

添加自定义源

如果需要添加自定义的 npm 源,可以使用以下命令:

复制代码
nrm add <registry> <url>

例如:

复制代码
nrm add my-registry https://my.custom.registry/

删除自定义源

使用以下命令删除自定义源:

复制代码
nrm del <registry>

例如:

复制代码
nrm del my-registry

4. 常见问题

  • 如果安装后无法使用 nrm 命令,可能是环境变量未正确加载。尝试重新打开终端窗口或运行 source ~/.zshrc

  • 如果 nrm ls 未显示星号或无法切换源,可以尝试卸载后重新安装:

    复制代码
    npm uninstall nrm -g
    npm install nrm -g

通过以上步骤,你可以在 macOS 上快速安装和使用 nrm 来管理 npm 镜像源,从而提高 npm 包的下载速度。

相关推荐
Spider_Man1 小时前
缓存策略大乱斗:让你的页面快到飞起!
前端·http·node.js
BUG收容所所长2 小时前
如何用 Node.js 构建一个智能文章生成器?从零开始的技术实践之旅
前端·node.js·设计
Song5593 小时前
搭建自己的BFF——基于 nodejs 实现微服务内核引擎
node.js
kngines14 小时前
【Node.js从 0 到 1:入门实战与项目驱动】1.1 什么是 Node.js?(定义、运行环境、与浏览器 JavaScript 的区别)
开发语言·javascript·node.js
一个很帅的帅哥14 小时前
Node.js和Javascript中的async和await
javascript·node.js·async·promise·await
liliangcsdn14 小时前
`npm error code CERT_HAS_EXPIRED‘ 问题
前端·npm·node.js
Rattenking14 小时前
【npm 解决】---- TypeError: crypto.hash is not a function
前端·npm·哈希算法
这是个栗子15 小时前
npm报错:npm install 出现“npm WARN old lockfile”
前端·npm·node.js·编辑器
Jet_closer_burning16 小时前
前端项目工程化配置webpack与vite
前端·webpack·node.js
啃火龙果的兔子16 小时前
Node.js 服务可以实现哪些功能
node.js