由于某些不可描述的原因,利用npm进行安装模块的时候会发生xxx下载失败的情况node-sass尤其的频繁,或者说node-sass的二进制文件是接近百分百失败的,即使用yarn安装也依旧在这个点失败,以下是完整的解决方案。
方案一:
首先,我们需要提前下载node-sass的二进制文件,这个文件可以去cnpm仓库下载或者node-sass的github上去下载,在下载之前我们需要先查看电脑的系统的版本,来确定适合哪个版本的二进制文件,查看版本的指令如下:
node -p "[process.platform, process.arch, process.versions.modules].join('-')"
输入这个指令后会弹出一个系统版本,比如我这弹出的是 win32-x64-48,则我就需要去以下两个地址中任意一个下载 win32-x64-48_binding.node 这个文件(后缀为node的文件)到本地:
cnpm: https://npm.taobao.org/mirrors/node-sass/
github: https://github.com/sass/node-sass/releases
下载完保存到任意位置,最好放置到package.json所在位置。然后我们需要手动指定node-sass二进制文件的下载源为下载的那个文件(比如我的是在e盘下的web文件夹内),以下是npm与yanr的指令:
npm:
npm config set sass-binary-path e:/web/win32-x64-48_binding.node
yran:
yarn config set sass-binary-path e:/web/win32-x64-48_binding.node
然后我们即可用正常指令下载了。注意:此方法会绑定为本地文件,即无法更新node-sass了~~如果不希望这么做,请使用第二种方案。
方案二:
此方案将把下载源指定为cnpm仓库:
全部的下载源指向cnpm的指令:
npm :
npm config set registry http://registry.npm.taobao.org
yarn :
yarn config set registry http://registry.npm.taobao.org
只指定node-sass的下载源:
npm:
npm config setsass-binary-site
http://npm.taobao.org/mirrors/node-sass
yarn:
yarn config setsass-binary-site
http://npm.taobao.org/mirrors/node-sass
然后我可以正常使用npm或者yarn进行下载了~
最后,关于如何使用cnpm代替npm。。。。直接npm install cnpm -g就好了-。-~~~~ 然后就可以直接用cnpm install XXX等指令安装了。