持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情
最近趁某平台百亿补贴入手了21款14寸mbp,换下了陪伴我5年的17款MBP。不得不说,M1 Pro是真的快,编译是秒完成!几乎看不到webpack0-100%的打包过程,用webstorm也不卡了,开发体验直接起飞🛫,但是新电脑到手各种环境配置确实让人头疼的很。
第一个头疼的就是安装node环境的好管家——nvm !
安装遇到的问题raw.githubusercontent.com port 443
照着官网以及网上各种资料推荐,几乎都是清一色推荐curl/wget命令的安装方式:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
按照以上安装方式,在国内将会遇到以下的问题:
- 使用
curl时将会遇到:curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 22 ms: Connection refused的问题
这是因为国内有墙。
- 使用
wget时,会发现 Mac 没有内置此工具。此时需要安装
wget。
搜索Mac安装wget的资料你会发现,清一色让你去安装Homebrew,如果真的去安装,你就会重新掉进第一个问题:curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 22 ms: Connection refused,从而走进死循环中~😄因为,Homebrew也是使用的curl去安装!
常规修改host的方案
绝大部分资料都是建议通过修改host文件映射raw.githubusercontent.comip地址实现curl访问。如:点击查看
但其实修改host文件有2个不好的点:
- 引入的ip地址安全性无法保证。万一该ip服务器上有损害计算机的脚本(病毒,挖矿),访问时会直接被本机下载下来,相当于自己给本机开了个网络层的安全缺口;
raw.githubusercontent.com映射的ip地址随时可能发生变更,变更后host此前配置全部无效,又得重新配置。
无须修改host的方案
以curl命令为例,仔细理解安装命令的含义:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
无非就是去获取nvm仓库的v0.39.1分支下的install.sh脚本文件并执行。
那么,无论以何种方式,只要我们能获取到install.sh文件并执行它,都可以完成nvm的安装
其实nvm的README文档中也给出了多种安装方式:
只是平时我们很少留意到下方的Git Install & Manual Install。
它们就是无须修改host文件的方案
由于国内的网络环境,这里建议选择Git Install !点击进入传送门
-
如果你能正常访问GitHub,并且能从GitHub上顺畅地clone项目到本地,建议你完全按此方案官网描述步骤执行即可完成安装;
-
如果你能正常访问GitHub,但不能从GitHub上顺畅地clone项目到本地,建议直接从git仓库下载zip包,然后继续按官网描述步骤执行即可完成安装;
-
如果你不能正常访问GitHub,建议从国内Gitee上镜像地址clone仓库,然后继续按官网描述步骤执行即可完成安装;
附1:关于raw.githubusercontent.com
githubusercontent.com
是github用来存储用户上传文件的服务地址。放在亚马逊s3上。是github 的素材服务器 (assets server), 避免跟主服务抢占负载
raw.githubusercontent.com
存储仓库文件源码 如,查看vue3.0仓库README.md文件时,点击右上角的“Raw”标签,即可看到存储的README.md源文件内容
类似的,还有存储用户图片的:
user-images.githubusercontent.com
附2:关于host文件域名以及ip地址配置
199.232.68.133 raw.githubusercontent.com
199.232.68.133 user-images.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com
将网址域名与IP地址对应起来,建立一个关联“数据库”,这样的话,当用户在浏览器中输入一个网址时,系统会首先从 hosts 文件中寻找对应的 IP 地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再将网址提交DNS域名解析服务器进行IP地址的解析。 参考blog
感谢您的阅读!希望能对您有所帮助😁
原创不易,转载需获得本人同意!