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

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

相关推荐
集成显卡13 小时前
基于 Node.js 的 API 方式接入深度求索Deepseek、字节跳动豆包大模型
前端·人工智能·node.js
焦虑的二狗13 小时前
Mac下载mysql
数据库·mysql·macos
HexCIer14 小时前
cbT.js: 一个让模板继承变得优雅的 Node.js 模板引擎
javascript·node.js
Q_Q51100828517 小时前
python的小学课外综合管理系统
开发语言·spring boot·python·django·flask·node.js
通域17 小时前
Mac (m1) Java 加载本地C共享库函数 .dylib 函数 Unable to load library ‘liblicense‘
java·python·macos
ChongYu重玉19 小时前
【node/vue】css制作可3D旋转倾斜的图片,朝向鼠标
javascript·css·vue.js·经验分享·笔记·node.js·vue
至善迎风20 小时前
深入理解 macOS 的 quarantine、xattr 与 Gatekeeper
macos
前端双越老师20 小时前
使用 langChain.js 实现 RAG 知识库语义搜索
人工智能·langchain·node.js
植物昂光20 小时前
基于Node.js的微博热榜抓取与展示开发记录
前端·node.js
今天也在写bug21 小时前
输入npm install后发生了什么
前端·npm·node.js