Mac 上安装nvm,切换 node 版本

背景

老项目所需node环境版本低;
新项目所需node环境版本高;
开发中需要来回切换node版本;
使用node版本管理插件nvm

nvm 安装

nvm 有两种安装方式,建议通过源码方式安装
一种是通过 brew install nvm

brew install nvm

另一种方式通过命令拉取 nvm 相关源码命令,仓库链接在此 https://github.com/nvm-sh/nvm
源码也有两种下载方式,任选

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

无论哪种方式,安装成功后, 都需要配置环境变量!!!

mkdir ~/.nvm    //可能安装时自动创建了这个文件,如果有,就不用再建了

vim ~/.zshrc   //环境变量在文件里配置

复制提示信息里的内容,下图红框所示,然后添加到 ~/.zshrc这个文件里

//brew 安装方式的环境变量
export NVM_DIR="$HOME/.nvm"
  [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion


// 源码安装方式的环境变量
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

source 之后,关闭终端,重新打开终端,可能会出现如下安全提示

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

如果选择忽略并继续,那每次打开终端都会再次提示,很烦。
那就按照提示,查看下哪些文件有问题。执行compaudit

compaudit

得到如下结果:

There are insecure directories:
/usr/local/share/zsh/site-functions
/usr/local/share/zsh

执行如下命令修改权限

cd /usr/local/share/zsh
sudo chmod -R 755 site-functions

再次执行 source ~/.zshrc,关闭终端,重新打开终端,
如果问题还未解决,那就还需要修改 site-functions 的权限。

OSX 10.9 以上系统执行如下命令(user:staff 是 OSX 系统默认权限):

$ cd /usr/local/share/
$ sudo chmod -R 755 zsh
$ sudo chown -R root:staff zsh

OSX 10.9 及以下系统执行如下命令:

$ cd /usr/local/share/
$ sudo chown -R root:root site-functions

再次执行 source ~/.zshrc ,关闭终端,重新打开终端,我实操过程到这里就没问题了。

brew方式安装过程,实操截图:

brew方式安装

源码方式安装过程,实操截图:


源码方式安装

安装成功后,通过 nvm ls-remote 查看 node 所有版本

    v16.7.0
    v16.8.0
    v16.9.0
    v16.9.1
    v16.10.0
    v16.11.0
    v16.11.1
    v16.12.0
    v16.13.0   (LTS: Gallium)
    v16.13.1   (Latest LTS: Gallium) // 当前稳定版本
    v17.0.0
    v17.0.1
    v17.1.0
    v17.2.0
    v17.3.0

nvm install xx.xx.xx (版本号) 安装指定版本 node

nvm install 17.3.0

安装成功后 nvm ls 可以查看已经安装到本地的node版本

nvm ls

nvm use node 使用本地最新node环境

nvm use 17.3.0 指定版本node环境

nvm 常用命令

  • nvm list 查看已经安装的版本
  • nvm list installed 查看已经安装的版本
  • nvm list available 查看网络可以安装的版本
  • nvm version 查看当前的版本
  • nvm install 安装最新版本nvm
  • nvm use <version>## 切换使用指定的版本node</version>
  • nvm ls 列出所有版本
  • nvm current显示当前版本
  • nvm alias <name><version>## 给不同的版本号添加别名</version></name>
  • nvm unalias <name>## 删除已定义的别名</name>
  • nvm reinstall-packages <version>## 在当前版本node环境下,重新全局安装指定版本号的npm包</version>
  • nvm on 打开nodejs控制
  • nvm off 关闭nodejs控制
  • nvm proxy 查看设置与代理
  • nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/
  • nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/.
  • nvm uninstall <version>卸载制定的版本</version>
  • nvm use [version] [arch] 切换制定的node版本和位数
  • nvm root [path] 设置和查看root路径
  • 注:nvm 只能查看和切换 通过nvm 安装的 node 环境,通过其他方式安装的node 不能查看
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容