关于npm和yarn安装node-sass失败并且依旧想使用NPM或者yarn的完美解决方案

Posted bug_zero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于npm和yarn安装node-sass失败并且依旧想使用NPM或者yarn的完美解决方案相关的知识,希望对你有一定的参考价值。

由于某些不可描述的原因,利用npm进行安装模块的时候会发生xxx下载失败的情况node-sass尤其的频繁,或者说node-sass的二进制文件是接近百分百失败的,即使用yarn安装也依旧在这个点失败,有人说用cnpm就好了,这确实是最好的解决方案,但是总会有不同需求的(比如我-。-),不喜欢用cnpm而喜欢用npm或者yarn,那么该怎么办呢?以下是完美的解决方案: 

  首先我们需要把node-sass的二进制文件下载到本地来,这个文件可以选择去官方的github上下载或者去淘宝镜像官网下载,在下载之前我们需要知道自己的电脑适合下载哪个版本的,可在终端输入以下命令来查看我们需要下载哪个版本的二进制文件:

node -p "[process.platform, process.arch, process.versions.modules].join(‘-‘)"

这时候会弹出自己电脑的系统版本,比如我弹出了“win32-x64-48”,则代表我需要下载"win32-x64-48_binding.node"这个二进制文件,这时候就在以下两个地址任意一个找到要下载的node-sass版本的二进制文件:

  node-sass官方github地址:https://github.com/sass/node-sass/releases

  node-sass淘宝镜像地址:https://npm.taobao.org/mirrors/node-sass/

  下载完保存在任意一个位置,知道在哪就行,然后在你想安装node-sass的地方安装,在安装指令后面我们还需要指定下载源。具体如下:

  注意:“--sass-binary-path=”等号后面跟的就是我们之前下好的node-sass二进制文件,比如我把二进制文件放在E盘下,系统适合“win32-x64-48_binding.node”,那么“--sass-binary-path=”后面跟的就是“E:/win32-x64-48_binding.node”(特别注意,分隔符是"/"并非直接拷贝电脑上路径的那种“\”),以下是完整的安装指令:  npm安装指令:

npm install node-sass --save-dev --registry=http://registry.npm.taobao.org --sass-binary-path=E:/win32-x64-48_binding.node

  yarn玩这个指令:

    注意:yarn与npm采用不同的方式,yarn需要先指定node-sass的二进制下载地址为我们本地下载后的那个二进制文件,这样就可以在下载二进制文件的时候不从仓库去下载而使用本地的文件安装。

  设置指令:

yarn config set sass-binary-path E:/win32-x64-48_binding.node

  sass-binary-path 后面跟的东西就不再解释了,与Npm同理。

  然后我可以正常安装no-sass了:

yarn add node-sass

  安装结束后我们就可以解除之前的设置,指令:

yarn config delete sass-binary-path E:/win32-x64-48_binding.node

最后,关于如何使用cnpm。。。。直接npm install cnpm就好了-。-~~~~

以上是关于关于npm和yarn安装node-sass失败并且依旧想使用NPM或者yarn的完美解决方案的主要内容,如果未能解决你的问题,请参考以下文章

yarn安装node-sass报错问题

node-sass下载失败 关于webpack

NPM node-sass 安装失败

在windows下安装node-sass失败,提示 ode-sass: Command failed,解决方案

node-sass安装失败之npm ERR! Failed at the node-sass@4.12.0 postinstall script.

前端开发环境搭建踩坑笔记——npm install node-sass安装失败的解决方案