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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM