源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

mac中利用NVM管理不同node版本的方法详解

  • 时间:2021-03-22 12:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:mac中利用NVM管理不同node版本的方法详解
[b]前言[/b] 大家在开始本文的正文之前,建议大家先看看这篇文章:[url=http://www.1sucai.cn/article/73424.htm]http://www.1sucai.cn/article/73424.htm[/url],这篇文章给大家详细介绍了关于node.js 下使用 nvm 或者 n 来进行版本控制及nvm 安装node.js 版本后,重启终端 node , npm 环境变量失效的相关内容,好了,下面开始本文的正文: Mac 下通过 [code]brew install nvm[/code] 所安装的 nvm ,由于安装路径不同,无法正确启用。建议使用 [code]brew uninstall nvm[/code] 卸载掉之后,通过本文的方案重新安装一次。 [b]卸载已安装到全局的 node/npm[/b] 如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中 node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm 安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:
npm ls -g --depth=0 #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装

sudo rm -rf /usr/local/lib/node_modules #删除全局 node_modules 目录
sudo rm /usr/local/bin/node #删除 node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #删除全局 node 模块注册的软链
[b]通过nvm来管理[/b] 场景:同组的同事使用node版本是5.7.0,而本机安装了node 7.2.0,如何兼容? 使用nvm管理。 [list] [*]使用Homebrew安裝nvm[/*] [*]使用nvm安裝Node.js[/*] [*]使用nvm無痛切換Node.js版本[/*] [/list] [b]安装nvm[/b]
brew install nvm
[b]使nvm生效[/b]
source $(brew --prefix nvm)/nvm.sh
或者:
echo "source $(brew --prefix nvm)/nvm.sh" >> .bash_profile
. ~/.bash_profile
[b]使用nvm安裝Node.js[/b]
nvm ls-remote
查看可用版本:
v0.10.20
v0.10.21
安装:
nvm install <version>
比如:
nvm install v5.7.0
还有
nvm install v7.2.0
[b]使用nvm無痛切換Node.js版本[/b] nvm會把各個版本的node安裝在/usr/local/opt/nvm底下。可以看看該目錄底下放了哪些東西:
 $ ls /usr/local/opt/nvm
INSTALL_RECEIPT.json LICENSE.md alias bin nvm.sh v5.7.0 v7.2.0
我們可以發現透過nvm安裝這兩個版本,事實上會在nvm目錄下另外建立了v5.7.0以及v7.2.0兩個目錄來分別存放node的binary檔。又nvm會在你的$PATH最前面安插指定版本的目錄,透過這個方式你在使用node指令時就會用指定的版本來運作了。 實際確認PATH的值看看:
 $ echo $PATH
/usr/local/opt/nvm/v5.7.0/bin: ...
查看当前可用版本
nvm ls
切换版本:
nvm use <version>
比如
nvm use --delete-prefix v5.7.0
也可以偷懶一點,不用打完整的版號:
$ nvm use --delete-prefix 5.7
Now using node v5.7.0
切換成別的版本:
$ nvm use --delete-prefix 7
Now using node v7.2.0
不過問題來了,如果你另外開一個shell視窗,並輸入nvm,會發現current version是空的:
 $ nvm ls

 v0.10.24
 v0.11.10
current:
這是因為利用nvm use指令只會在當前的shell生效,當你開了新的shell就會發現$PATH的值已經不包含剛才設定的node目錄了。 要解決這個問題就是利用
$ nvm alias default <version>
來設定一個預設的node版本:
 $ nvm alias default 5.7.0
default -> 5.7 (-> v5.7.0)
此時再打開另一個shell視窗,就可以直接使用你所設定的node版本了。 [b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部