之前用windows的电脑的时候,曾使用
nvm-windows
工具来管理开发环境中的node版本。快速在各个版本的node环境中切换的体验非常好。而在mac中,由于开发环境比较稳定,则没有使用这类工具来管理。近期由于项目的需要,有了在mac下频繁切换node版本的需求。才有了这篇文章。
工具选择
我根据第一直觉,在npm上搜索 nvm
,竟没有 nvm
的精确匹配,搜索结果第一位是一个叫 n
的包,点进去,也没个README说明(其实是当时我的网络不好README没有加载出来…)。(说实话,要不是发现它的作者是tj大神,我后来可能不会再次点开它,可能我就错过了一个非常好的工具。)
诧异过后,我转到github,搜索 nvm
。 找是找到了,然而,它的安装方式,让我觉得不太友好:1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
为什么nvm没有pacakge版?不如看看那个”连README都没有”的 n
是否能用。我点开了 n
的github页面。详细的使用说明映入眼帘,粗略读了一遍,感觉有戏。仔细操作一遍,这感觉,怎么说呢,这是捡到宝了呀!
就它了! n!
如何使用 n
管理mac上的node版本
1. 安装
1 | npm install -g n |
2. 修改几个本地目录的拥有者
因为node环境是全局的,需要安装到系统目录下,涉及目录有 /usr/local/bin
、usr/local/lib
、/usr/local/include
、/usr/local/share
,这几个目录的拥者是root,其他用户没有权限操作他们。如下命令可以将他们的拥有者从root改为当前用户:1
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
另外,n 会在系统目录下创建一个目录,也需要修改下它的拥有者:1
sudo chown -R $(whoami) /usr/local/n
关于 chown
命令,我的另一篇文章有详细说明: 如何修改mac中文件夹和文件的拥有者
3. 安装指定版本的node
1 | n 10.16.3 //下载并安装node 10.16.3 |
4. 切换node版本
1 | n //列出所有缓存的node版本 |
用 node -v
查看版本是否生效。
5. 删除node版本
1 | //删除指定版本 |
6. 其他命令
1 | n ls //查看已下载的node版本列表 |
补充 n
的获取node的源路径为node官网https://nodejs.org/dist/
,在国内访问,非常慢,经常由于太慢而发生超时错误导致下载失败。解决方案:修改node镜像源。1
export N_NODE_DOWNLOAD_MIRROR=https://npm.taobao.org/mirrors/node
将node镜像指向淘宝镜像。再来操作 n
命令,是不是速度嗖嗖的了。
GOOD LUCK!
参考:
n (npm):https://www.npmjs.com/package/n
n (github):https://github.com/tj/n
nvm :https://github.com/nvm-sh/nvm
nvm-window :https://github.com/coreybutler/nvm-windows