npm安装gulp-sass失败处理办法

Posted 抖音的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了npm安装gulp-sass失败处理办法相关的知识,希望对你有一定的参考价值。

         最近在做一个基于gulp的前端自动化的项目,在github上拉取代码后,按照正常的流程,首先我们要 npm  install ,在安装的过程中,一直提示我gulp-sass 安装失败,我用尽了好多办法,都没有安装成功,最后发现原来gulp-sass是依赖node-gulp的。下面记录下我踩的这个坑,希望对其它遇到同种情况的同行有所帮助!

 

           解决思路:

          一、首先下载  node-sass

npm install node-sass

         如果你连下载 node-sass都失败的话,那只能说太悲催了,下面我提供两种方式解决这个问题

        1)、其一,可以到官网下载项目源码。在(https://github.com/sass/node-sass/releases)下载 node-sass 项目源码,下载后解压至相应的 node_modules 目录中。

               接下来,打开 package.json 文件,检查 script 字段

"scripts": {
    "coverage": "node scripts/coverage.js",
    "install": "node scripts/install.js",
    "postinstall": "node scripts/build.js",
    "pretest": "node_modules/.bin/jshint bin lib scripts test",
    "test": "node_modules/.bin/mocha test"
  },

             打开 install 字段对应的文件 scripts/install.js,可以看到 checkAndDownloadBinary() 在下载这个二进制文件,URL使用的是 process.sass.binaryUrl,我们可以直接在这里覆盖这个变量,把改地址修改为上面提到的那个能够下载的二进制文件地址。

download(process.sass.binaryUrl, process.sass.binaryPath, function(err) {
    ....
}

或者,找出上面提到的 sass.binaryUrl() 方法,打开 ../lib/extensions.js 文件,大约108行左右,修改为如下样子即可

function getBinaryUrl() {
  var site = flags[‘--sass-binary-site‘] ||
             process.env.SASS_BINARY_SITE  ||
             process.env.npm_config_sass_binary_site ||
             (pkg.nodeSassConfig && pkg.nodeSassConfig.binarySite) ||
             ‘https://github.com/sass/node-sass/releases/download‘;

    //return [site, ‘v‘ + pkg.version, sass.binaryName].join(‘/‘);
  return ‘https://github.com/sass/node-sass-binaries/blob/master/win32-x64-46_binding.node‘;
}

             进入node-sass 项目根目录执行 install 命令:

$ cd node_modules/node-sass

$ npm install 

           2)、其二,可以直接使用已经下载好的 node-sass包

链接: http://pan.baidu.com/s/1jIwXfoE 密码: 6ktp

 

           二、其次下载  gulp-sass

           node-sass 安装完成后,gulp-sass 的依赖问题也就解决了,然后跳出去 node_modules 目录继续安装 gulp

cd ../..

npm install gulp-sass

           如果gulp-sass安装不成功,可以直接使用已经下载好的gulp-sass包

链接: http://pan.baidu.com/s/1kVxBayb 密码: zgra

 

以上是关于npm安装gulp-sass失败处理办法的主要内容,如果未能解决你的问题,请参考以下文章

npm 安装 chromedriver 失败的解决办法

npm install packagename 安装失败的解决办法

npm install 错误 安装 chromedriver 失败的解决办法

npm 安装 sass-loader 失败的解决办法

node-sass 安装失败 win32-x64-57_binding.node

electron 安装失败解决办法