本篇文章不讲工具的概念,只讲配置的问题
1.homebrew
很多文章都是让直接装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
会直接报错
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 18 ms: Couldn't connect to server
再注意一点就是利用wget也没有效果(也可能有效果,看网络运气,而且温馨提示:更改完配置文件.zshrc之后一定要利用source ~/.zshrc来激活,并且重启终端,如果没有重启终端,可能会失效)
受公司限制所以无法直接访问raw.githubusercontent.com,这里要注意,即使是挂梯子也没有用,因为命令行处理不了,而raw.githubusercontent.com其实就是github的映射,而终端访问外网就要利用ip地址的访问
iterm2中利用vim执行以下命令
sudo vim /private/etc/hosts
打开之后填写 199.232.68.133 raw.githubusercontent.com 然后就可以执行了
或者也可以使用
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
来代替,但其实后面还要安装一些github来源上的,所以还是要做上面的那步
但是第二步其实也推荐做一下,因为该命令封装了brew换源的问题,可以选择中科大以及淘宝等,并且也会提示cask等工具的安装
至此,brew -v以及brew install都可以直接使用,完成
nvm
接下来我们看nvm的问题堪称是痛心疾首
安装nvm的方法可以是brew install nvm,但是需要给~/.zshrc文件加上如下环境变量的配置
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
这里要注意一个问题,这里所加的不是一成不变的,可以看到网上有大把的资料他们写的配置都不尽相同,所以一定要注意本质,路径下确保有nvm.sh文件以及bash_completion
source ~/.zshrc激活配置文件,可以看到nvm -v可以使用,那么就说明nvm已经是安装成功了
nvm ls-remote来查看远程node版本,也就是去node官网上nodejs.org/dist/ 查找版本
这里要注意的是不要给nvm换源了,网上的nvm换源
export NVM_NODEJS_ORG_MIRROR=npm.taobao.org/mirrors/nod…
export NVM_IOJS_ORG_MIRROR=npm.taobao.org/mirrors/ioj…
不要再用了!!!!!!!这个淘宝源已经没了,而且即使有人说换成新版本的registry.npmmirror.com 也是不对的,这个路径下是没有node的,nvm是下载node的,npm下是没有node的
所以还是要保留本身的源,直接去官方node来下载对应的版本
那么接下来问题来了,网上所有的教程都是到此结束了,但实际上似乎nvm已经安装成功,但是却无法利用nvm来安装node,这才是最痛的,当然了,这不是所有的电脑都会遇到这个问题,所以这也是我写这篇文章最核心的关键就是如果你也遇到了这个问题,还是安装不了node,那么接下来该怎么办,当然不是说直接随便怼一个node就可以的,因为我们不同版本的项目所用的node版本也不一样,避免不了以后的切换问题
先列出问题,这里以20.15.1的版本举例
可以看到在安装node的时候是两个过程,默认是利用官网上的nodejs.org/dist//v20.1… 去匹配缓存下的/Users/haozewu/.nvm/.cache/bin/node-v20.15.1-darwin-x64这个路径下的该文件,发现没有,然后就又利用官网去匹配/Users/haozewu/.nvm/versions/node/v20.15.1 发现也没有,并且应该是苹果的这个不支持xz文件的下载,所以无法安装。
所以解决的办法就是浏览器访问官网,把官网上的xz换成gz的下载,点击node-v20.15.1-darwin-x64.tar.gz下载,利用命令mv ~/Downloads/node-v20.15.1-darwin-x64.tar.gz ~/.nvm/.cache/bin/node-v20.15.1-darwin-x64/把下载的gz移动到缓存中的bin目录下,让其直接匹配对应
再利用mkdir -p ~/.nvm/versions/node/v20.15.1创建版本目录,再利用tar -xzf ~/.nvm/.cache/bin/node-v20.15.1-darwin-x64/node-v20.15.1-darwin-x64.tar.gz -C ~/.nvm/versions/node/v20.15.1 --strip-components=1来解压该gz压缩包,并且提取到版本目录下并且忽略掉解压的第一级目录
至此!!!!!!!!!!!!!!!!!我们重启终端,再输入nvm install 20.15.1命令后可以发现实际上已经绑定了node和nvm的关系,那么此刻再运行nvm use 20.15.1可以实现切换版本,大功告成
npm会随着node的安装成功也安装进来,然后再去更换淘宝镜像源
npm config set registry registry.npmmirror.com
讲道理,我想解决的还有一个问题就是如何更改nvm默认下载目录,也就是为什么nvm会默认直接去下载xz,有待探究