说明
最近刚买了期待的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
配置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.net | 199.232.69.194 |
| raw.githubusercontent.com | 185.199.109.13 |
| github.com | 140.82.114.3 |
写入hosts文件
使用open -e /etc/hosts打开hosts文件,写入
环境配置错误
最新的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,加油了!