macos 使用 nvm 管理 node 并自定义安装目录

系统环境:MacOS Version

参考文章:


安装的方式是很简单的,直接执行下面的命令即可:

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

# 然后配置环境变量,下面会详细说明

但是要注意,下面的命令默认会安装到 ~/.nvm 目录 ,虽然 MacOS 没有 Windows 的分盘概念,但是对于有点强迫症的码农来说(我不信身为一个码农,你没有一点强迫症),就是不想让它在 ~/.nvm 目录下。


接下来,在喜欢且强迫的位置创建一个目录当作 nvm 的主目录,例如在 /Users/roc/Documents/tools/nvm 目录下:

【注】NVM_DIR 不能使用 ~,如果使用的话会提示没有该目录。例如:~/Documents/tools/nvm

bash 复制代码
# NVM_DIR 中的字符串不需要以 / 结尾
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | \
NVM_DIR="/Users/roc/Documents/tools/nvm" bash

# 输出如下:
=> Downloading nvm from git to '/Users/roc/Documents/tools/nvm'
=> Cloning into '/Users/roc/Documents/tools/nvm'...
...
# 提示设置环境变量
=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zprofile, ~/.zshrc, and ~/.profile.
=> Create one of them and run this script again
   OR
=> Append the following lines to the correct file yourself:

export NVM_DIR="$HOME/Documents/tools/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
...

安装完成后,开始配置环境变量。

【注】版本较新的 macOS 系统中,终端默认为 zsh,所以要配置到 ~/.zshrc 文件中,如果没有则需要创建该文件 。配置系统全局的 /etc/profile 配置文件中当然也可以,但是没有必要。

bash 复制代码
# 创建或编辑 ~/.zshrc
vim ~/.zshrc

# 添加上面的配置信息,信息如下:
export NVM_DIR="$HOME/Documents/tools/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

# 运行以下命令以加载新的配置
source ~/.zshrc

# 保存即可

验证 nvm 是否安装成功:

bash 复制代码
nvm -v

# 输出如下:
0.40.0

安装成功了,手动维护目录,终于干净了!

相关推荐
__zRainy__4 小时前
Node系列 · ORM:Sequelize 简介
数据库·后端·node.js
水獭比特4 小时前
工具都批准了,为什么还不能执行?给 Agent 补上第二道校验
javascript·人工智能·node.js
钱栈up6 小时前
Mac 开发机一键发版不用切环境:我这样改造了团队的后端部署脚本Maven编译卡住20分钟?我靠两步定位到2处隐蔽编译错误
开发语言·python·macos
Xxtaoaooo6 小时前
600 元 HP 小主机装 macOS:从启动盘、BIOS 到核显加速完整教程
macos·黑苹果·cpolar·mac mini·实战教程
__zRainy__8 小时前
Node系列 · ORM:mysql 驱动程序
数据库·后端·mysql·node.js·orm
那年窗外下的雪.8 小时前
AIDC 学习日志|第 14 天|MAC Flapping 与 EVPN 多归属分层排障
网络·git·学习·macos·github·spine
__zRainy__10 小时前
Node系列 · ORM:Sequelize 模型
数据库·后端·node.js
方芯半导体10 小时前
EtherCAT 从站方案中 MAC、PHY 与 MII 的层级关系与实现解析
网络·人工智能·单片机·macos·ethercat
秋秋小事10 小时前
提示词工程
node.js
__zRainy__11 小时前
Node系列 · 数据库:MySQL 安装
数据库·后端·mysql·node.js