mac安装NVM遇到的问题汇总

nvm可以管理node不同版本之间的丝滑切换,避免重复入坑,特此记录。

注意:在下载nvm之前需要卸载本电脑已经安装的node!(参考:https://www.jianshu.com/p/88cd55296983)

卸载从node官网下载pkg安装的node

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

卸载不干净可细分删除

第一步:打开终端,输入以下命令显示 Node.js 的安装路径:
    which node执行该命令后,会显示安装路径:/usr/local/bin/node

第二步:输入以下命令删除 Node.js 相关的文件:
  sudo rm -rf /usr/local/bin/npm
  sudo rm -rf /usr/local/share/man/man1/node.1
  sudo rm -rf /usr/local/lib/dtrace/node.d
  sudo rm -rf ~/.npm
  sudo rm -rf ~/.node-gyp
  sudo rm /usr/local/bin/node
该命令会删除 Node.js 的可执行文件、npm 包管理器、手册页、DTrace 跟踪文件和用户目录下相关文件。

第三步:确定是否完全卸载 Node.js。在终端中输入以下命令:
node -v  如果显示“command not found”,则表示已经卸载干净。

开启nvm旅程

一、进入官网http://nvm.uihtm.com/ 下载选择nvm for mac

安装参考:https://nvm.uihtm.com/#nvm-mac

遇到问题汇总:

1、nvm安装失败

解决方案:

终端中输入:  sudo vim /etc/hosts

编辑插入: 185.199.110.133 raw.githubusercontent.com

按键盘键 esc

输入:  :wq 保存退出编辑

退出后继续执行curl

成功

提示:如果没有成功,换剩下的ip地址,多试几次。

拓展

配置nvm
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

如果你使用的是 `zsh` 终端,你还需要添加以下内容:
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

参考(文章 https://zhuanlan.zhihu.com/p/628104200),用来理解nvm安装成功后, .bash_profile文件中的命令含义


这里也直接解释了问题3配置的原因

当从bash切换为zsh时,如果不想重新配置一遍.zshrc文件,可以__在.zshrc文件中加上source ~/.bash_profile,从而直接从.bash_profile文件读取配置。


2、nvm -v 提示

解决办法
参考: https://blog.csdn.net/echollk/article/details/128722478

终端输入: source ~/.bash_profile  // 使得配置的环境变量才生效


因为mac自带终端与vscode同时使用,会出现重启后依然提示zsh:command not find : nvm,也就引出了问题3

3、终端重启后提示zsh:command not find : nvm

参考:https://blog.csdn.net/zm_miner/article/details/124850215

cd ~

创建 .bashrc文件
sudo vim ~/.bash_profile
添加一行  source  ~/.bashrc // 按照自身换环境变量是否有需要
按esc键, :wq 保存退出编辑
执行source ~/.bash_profile

依然提示zsh:command not find : nvm

zsh终端必要的条件如下:

cd ~

找到~/.zshrc文件
找不到就重新建 touch ~/.zshrc文件
添加一行代码: source ~/.bash_profile
按esc键, :wq 保存退出编辑
执行source ~/.zshrc

这个时候在iTerm的终端使用nvm 就可以了
在vscode新开一个终端使用nvm 也可以了
如果如果不行在.zshrc 最底部加入这些试试: PATH=/bin:/usr/bin:/usr/local/bin:${PATH} export PATH

到这里才算实实在在安装完成!

解释说明: 怎么修改,环境变量都不生效,比如修改的是~/.bash_profile,那么必须`source~/.bash_profile`才能生效,而且重启后继续无效,为什么呢?因为 zsh !终端是iTerm,它很炫酷,但是就是环境变量搞不成。安装 zsh后,~/.bash_profile并没有被执行,所以需要编辑 zsh 的配置文件~/.zshrc,在该文件里加入

拓展: 关于zsh终端与bash终端

两者都是shell的一种,zsh都够基本完美的兼容bash的命令

1、mac终端默认zsh
zsh对应的配置文件
~/.zprofile: 在用户主目录下,以加载配置文件相关的配置
~/.zshrc:文件包含一些用于配置新打开的shell的命令。这与用户登录时执行的.zprofile文件不同

2、bash不是默认的,也是平时比较常用的终端
bash对应的配置文件
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
执行顺序:最开始全局加载 /etc/.profile 文件,再执行 ~/.profile 或者 ~/.bash_profile 文件,之后加载 ~/.bashrc文件

3、配置文件读取
bash读取的配置文件: ~/.bash_profile文件
zsh读物的配置文件:~/.zshrc文件
所以在默认zsh终端的mac上,通常会 在~/.zshrc文件里加一句 source ~/.bash_profile。去执行用户配置在~/.bash_profile文件的信息

4、名词解释
“~ ” 你的home目录,在OS X下位于/Users/你的用户名/
“.” 类unix下的隐藏文件,文件名带"."之后在GUI文件管理器和ls的默认设置下不会显示出来,使用ls -a命令可以显示出这些文件。
zshrc是一个文件,准确的说这个文件的文件名是".zshrc".

5、常见命令
      echo $PATH  查看系统路径
      echo $SHELL 查看默认shell
      cat /etc/shells  查看已经安装的shell


二、nvm常用命令

nvm install ## 安装指定版本,可模糊安装,如:安装v6.2.0,既可nvm install v6.2.0,又可nvm install 6.2

nvm uninstall ## 删除已安装的指定版本,语法与install类似

nvm use ## 切换使用指定的版本node

nvm ls ## 列出所有安装的版本

nvm ls-remote ## 列出所以远程服务器的版本(官方node version list)

nvm current ## 显示当前的版本

nvm alias ## 给不同的版本号添加别名

nvm unalias ## 删除已定义的别名

nvm reinstall-packages ## 在当前版本node环境下,重新全局安装指定版本号的npm包

nvm对node的版本管理
nvm on:  :开启node.js版本管理。
nvm off :  :关闭node.js版本管理。

三、卸载  (暂时还未实践,等我有需要实践后再具体写)

nvm use system
npm uninstall -g a_module


四、其他安装方式请参考官网

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容