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

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

相关推荐
shmily麻瓜小菜鸡20 小时前
TDD(测试驱动开发)详解
开发语言·javascript·typescript·node.js·ecmascript
半生过往1 天前
Node.js 多版本管理完全指南
node.js
梦帮科技1 天前
AI 音乐产品的发布工程:验证门、数据发布、回滚与生产运维纪律
数据结构·数据库·架构·node.js·音视频·动态规划·推荐算法
BreezeJiang2 天前
别把 WebSocket 当成一门新协议学:搞懂"借 HTTP 握手",双端 Demo 和跨域就都通了
websocket·node.js
shark-chili2 天前
关于AI辅助编程的认知
数据库·人工智能·redis·macos·缓存
65岁退休Coder2 天前
把 Agent 框架拆开:PI 开发生产级 Harness
后端·node.js·agent
zwd20052 天前
Mac 上写英文遇到不会的词,有哪些工具?输入法、翻译软件、写作助手怎么选
人工智能·macos·效率工具·英语写作·输入法·deepl·翻译工具
33三 三like2 天前
Jx-Mac 本地部署过程总结
macos
65岁退休Coder3 天前
PI Agent 开发一个生产级 Harness
后端·node.js·agent
szephyr3 天前
WebSocket 实战:心跳、断线重连、鉴权,一次讲清
前端·websocket·node.js·长连接·实时通信