macbook配置nvm环境

1,047 阅读4分钟

说明

最近刚买了期待的macbook pro,然后吧,我就想把前端开发的环境配置一下,结果我发现网上的各种教程和帖子自己都没试过也拿出来发,导致我疯狂踩地雷,结果还是github的README.md告诉我正确的使用方法。

明确版本

不管安装什么软件,命令行工具,一定要明确你要使用的版本。打开github,从仓库可以从看到目前nvm的最新版本是0.39.1。但是对于我来说,我从来就不会安装最新的工具版本,因为其往往不太稳定,我还是装0.35.2吧。

安装命令

安装就参考github仓库配合issue就够了,因为其他的帖子很多都是复制粘贴或者不知所以云的,很容易踩地雷,还不如老老实实地看权威的官方教程。

这里注意一点,千万不要使用brew安装nvm,会踩个大大的地雷,一定要谨慎再谨慎。


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

配置环境

完成上一步之后,小伙伴们大多会知道要配置环境变量了,但是请等一下,现在新版的mac系统命令行默认使用的是~/.zshrc文件,而不是通常unix的~/.bash_profile文件,我们得打开这个文件。


vim ~/.zshrc

输入命令


export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"

[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

这样,nvm环境就配置好了。


nvm --version

macbook安装nvm-2022-01-27-22-41-24

配置node环境

使用nvm list-remote查看所有的可安装版本

nvm ls可以查看当前安装的所有版本。

nvm install xx.xx.xx安装指定的node版本

nvm alias default xx.xx.xx更改默认版本,否则将使用目前最新的版本

(使用目前最新的版本可能很多npm包不匹配发生报错)

nvm use xx.xx.xx切换当前使用的node版本。

遇到的问题

GitHub连接超时 443

这个问题好像是说国内的DNS被污染了,哎,真的对GFW又爱又恨。无论是mac还是windows,都是改hosts文件,我这里使用的是mac,就只说mac的hosts如何修改了。

打开命令终端(Siri更快哦)


vim /etc/hosts #打开host文件,更推荐 open -e /etc/hosts 直接编辑器编辑

在这里你可以看到部分域名和ip的对应,每次浏览器对域名进行ip解析时,一定是先访问本地的hosts文件(mac和win一样),不行再请求DNS服务器,而正是因为这里的DNS解析过程被破坏了,导致无法访问。所以,直接人为地修改host文件,让浏览器直接在本地就可以完成域名解析,就万事大吉了。

解析要访问的域名

打开ipaddress,查询几个github的域名

标题ip
github.com.ssl.fastly.net199.232.69.194
raw.githubusercontent.com185.199.109.13
github.com140.82.114.3

写入hosts文件

使用open -e /etc/hosts打开hosts文件,写入

macbook安装nvm-2022-01-27-23-10-31

环境配置错误

最新的mac系统得使用~/.zshrc文件,

不行先写入~/.bash_profile,再在~/.zshrc补充source ~/.bash_profile

vue create 错误

这也是那无法访问github仓库的锅,事实上可以通过配置淘宝的镜像源来解决这个问题,具体的操作如下:


npm install -g cnpm --registry=https://registry.npm.taobao.orgs

nvm修改默认的版本

这个问题是这样的,我先安装了最新的node,然后再让nvm接管了这个安装好了的node版本(最新版本)。然后我去配置了淘宝镜像(实际上能不用就不用的,科学上网最好),发现我的默认版本又给改到了最新版本,我在配置淘宝镜像之前已经将版本改为了12.22.1。好无语啊,我岂不是白费功夫,后来看到一篇帖子,说得先更改nvm的默认版本。

参考的帖子链接

具体的执行命令为


nvm alias default v12.22.1

这样把nvm默认使用的node版本更改后,每次配置cnpm就不怕回到最新的node版本了,good!

node@12版本过低

我今天(2022-02-10)碰上了问题,出现了内存分配出错x x x的错误, stackflow。 大意就是arm64架构的得14开始,我的12不能用了,我刚好装了12.22.1,真的踩得死死的。 好了,记录到此,又get了。

总结

第一次使用mac,很多东西还不是很熟悉,好在多多尝试并写文记录复盘,希望在新的小伙伴的加持下我的技术水平今年能更上一层楼吧。2022,加油了!