naseeihity / LearnToLearn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm 一个小坑记录

naseeihity opened this issue · comments

npm cache clean

其实之前实习时这个这个命令很常用,因为没有稳定的翻墙工具,npm install经常部分失败,cnpm install也经常会抽风漏掉一些东西,导致项目跑步起来,这时候一般会熟练操作:

  • rm -rf node_modules
  • npm cache clean

然而昨(今)天在坑里爬到2点才想起这个命令。

起因是 经过macOS 升级 high sierra,npm 升级,npm i失败,删除 node_modules,cnpm i,等一系列操作后。我开始用 Airbnb 的eslint 规则来初始化我本地项目的 eslint。

eslint --init

果然,卡住了,而且 ctrl+c不能结束命令,开始我直接关掉 iterm 没有在意,不过很快 cpu 的温度就飙到了90+,赶快开活动监视器发现 npm占用了100%的 cpu,马上强制关掉它。而且总是在处理这个包的时候loadExtraneous: sill resolveWithNewModule concat-map。第一反应是墙的锅,然后花了很长时间研究如何给我的 iterm 翻墙,这个后面再讲。折腾了半天我终于想到或许应该 clean 一下。执行上面两条命令后,使用翻墙后的 iterm,终于不会卡在那里了,然而还是特别慢,npm 真的是没救了。

这时候突然想到,eslint --init其实也就是一堆npm install,那么我依然可以走淘宝代理。于是执行下面的语句:

eslint --init --registry=https://registry.npm.taobao.org

成功初始化,但是提示很多 npm 依赖包没有安装,再执行cnpm i安装需要的包(配置文件里已配置),大功告成。

终端翻墙

尝试了很多方案,直接输 ss-ng 给的 export http_proxy命令,不行。proxifier 不行。polipo不行。

最后还是用到了之前记录的 linux 翻墙方法 #7 。配置好后使用proxychains4运行相关命令就在墙外了。

// 可以用这个命令来测试
sudo  proxychains4 curl ip.gs