废话:在搭建RN环境后,日常打开原来的react项目,发现报错,是因为react项目中用到了sass相关...,尝试解决无果,决定重新配置node环境。
一、产生问题:
第一步:用网上推荐的nvm安装包安装nvm,选择的nvm路径和node路径,都是无空格无中文字符等的正规路径(避坑)。
第二步:用nvm命令安装不同版本node,问题出现:
报错图示:
图一:
意思:node安装成功,但自动安装对应版本的npm时报错,提示进程占用之类的错误。反正就是安装不上,具体表现是nvm安装目录\nvm\node对应版本\node_modules文件夹里是空白的,没有npm文件。
图二:
意思:安装npm时,连接失效\过时,具体表现同上,并且在temp文件中有缓存。
二、解决问题:
第一步:百度,得到思路:
1.版本问题。nvm下载node版本8点多以后无法自动安装npm,可以去npm官网下载对应版本,然后手动放到node_modules里,具体操作可以百度一哈。
实践评价:不靠谱。因为我之前用nvm安装10、12、16版本node时都会正常自动下载npm,重新装nvm后才出现npm不能下载的问题,所以感觉并不是因为这个原因,不过手动下载npm也是可以的,对于非强迫症来说可以妥协(能用就行)。除了手动下载npm,也可以去node官网手动下载node(同事实践有效),这样更简单,一是拖动文件简便,二是不用考虑npm与node版本对应的问题。
2.修改nvm中的settings.txt文件。
示例:
这个其实正常安装nvm都会自动生成,网上说需要在这两行之后添加淘宝镜像路径
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: CNPM Binaries Mirror
目的是让npm下载的快一点,稳定一点(因为相关服务器在国外)。
实践评价:还是没解决我的问题。
npm还是无法自动下载,重启也不行,nvm都重新装了好几遍,解决无果,又重新百度,各种方法都试了,还是一样,就在我打算用手动下载的妥协方法时,突然想把setting.txt文件里的淘宝源镜像路径删除了,试一试。得到图二报错,意思是网络的问题,因为考虑到npm服务器在国外,就打开了vpn,这下竟可以完美的自动下载了,问题解决。
三、总结:并不是node版本的问题,也许是淘宝镜像路径导致无法下载npm。去掉淘宝镜像路径还可以发送请求(报错图二),虽然请求超时,但是用上淘宝镜像路径直接提示进程占用,貌似都没到请求下载的阶段。
此思路写于2022年2月9日,如有谬误,望提示修正<抱拳>。