npm使用时的问题汇总

解决npm一直停在"fetchMetadata: sill resolveWithNewModule"的问题
换成淘宝的源

npm config set registry https://registry.npm.taobao.org

配置后可通过下面方式来验证是否成功

npm config get registry

解决electron、electron-packager慢的问题

最近在用electron-packager把electron打包,每次到electron-packager这步,总是卡住,网上说把ELECTRON_MIRROR设置为https://npm.taobao.org/mirrors/electron/,但是设置后还是慢,没办法,只能去看下源码,看下安装过程到底做了什么,原来在安装过程中,他会根据你要编译的平台下载electron代码,下载源默认是github的,但可以用ELECTRON_MIRROR来修改,修改后还少了一步,还要再设置ELECTRON_CUSTOM_DIR=6.0.9(这个根据你的版本需要来),因为阿里的命名跟github的不一样。

electron安装的代码用的是https://github.com/electron/get 这个库,路径有3三部分组成,mirror / nightly_mirror | customDir | customFilename

看下默认路径和阿里源路径的区别:
https://github.com/electron/electron/releases/download/v6.0.9/electron-v6.0.9-win32-x64.zip
https://npm.taobao.org/mirrors/electron/6.0.9/electron-v6.0.9-win32-x64.zip

三个部分都有对应的环境变量可修改,ELECTRON_MIRROR,ELECTRON_CUSTOM_DIR,ELECTRON_CUSTOM_FILENAME。
对比两个链接,发现customDir两个源的命名不一样,所以要设置如下的环境变量:

ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
ELECTRON_CUSTOM_DIR=6.0.9

原文地址:https://www.cnblogs.com/itfky/p/13730769.html