nvm或者n管理node版本
一、使用nvm管理node版本
1)安装
要学会看文档,这个时候就体现到英文的重要性了。打开github把文档仔细读一读。
1 | sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash |
或者
1 | sudo wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash |
执行完第一步的安装命令,此刻执行nvm并不生效啊,提示找不到命令。nvm command not found
官网上说安装完nvm就会添加以上代码到.zshrc中,但是并没有啊,仔细阅读文档下面有mac不生效的解决办法,balabala,但是英文没那么好,看的一知半解啊。
需要手动添加以下代码到.zshrc中
1 | export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" |
通过百度Google了解到mac的新系统中已经默认用zsh了,不用bash了,好吧,根据提示先创建一个.zshrc。
1 | touch ~/.zshrc |
小插曲:发现自己的终端打开还是默认用的bash,但是终端中有个提示让升级到zsh。好吧,执行一下命令升级,完了再次打开终端就是这个样子的了。
拷贝上面export…的代码到.zshrc中,然后执行一下 source ~/.zshrc
(这个source命令是让代码生效。)
此后打开终端就可以直接使用nvm了。
2)使用nvm
1 | nvm -v #查看nvm的版本 |
我发现安装了nvm以后node的版本都安装在了.nvm文件夹下面的version文件夹中,但是之前安装的node是在.node-gyp文件夹中,这些就没用了吗,暂时搞不懂,留作以后研究吧。
二、使用n也可以管理node版本
1)安装
1 | npm install n -g |
n就是node的一个模块,它依赖node的,得先装一个node,然后才能安装n
2)使用
1 | sude n stable # 安装最新的稳定版node |
三、nvm和n的区别
安装简易度
nvm 安装起来显然是要麻烦不少;n 这种安装方式更符合 node 的惯性思维。见仁见智吧。系统支持
nvm 不支持 Windows。对全局模块的管理
n 对全局模块毫无作为,因此有可能在切换了 node 版本后发生全局模块执行出错的问题。
nvm 的全局模块存在于各自版本的沙箱中,切换版本后需要重新安装,不同版本间也不存在任何冲突。关于 node 路径
n 是万年不变的 /usr/local/bin; n在切换不同版本的node时,会将指定版本的node,复制进/usr/local/bin下。
nvm安装实际是将不同的node版本存储进~/.nvm/node-version内,然后修改PATH,将指定版本的node路径加入,这样就实现了切换node版本.