MacOSX で gulp-sass node-sass のインストールに失敗する場合の回避策

結論からしますと、node v0.11.x 用の node-sass バイナリが無いので、

0.11.x を使っている場合は node-sass のインストールに失敗するからのようです。

経緯

$ npm i gulp-sass
 \
 > node-sass@2.0.1 install /Users/mine/tmp/npm/node_modules/gulp-sass/node_modules/node-sass
 > node scripts/install.js
Can not download file from 
> node-sass@2.0.1 postinstall /Users/44uk/tmp/npm/node_modules/gulp-sass/node_modules/node-sass
 > node scripts/build.js
module.js:338
 throw err;
 ^

うわーエラーだ!node モジュールの中身なんてわかんねー!と思っていたら、

Can not download file from 

という、わかりやすそうなエラーが表示されたので、一応上記URLにアクセスしてみると404でした。

# node_modules/gulp-sass/node_modules/node-sass/scripts/install.js
 89 function fetch() {
 90 var url = [
 91 'https://raw.githubusercontent.com/sass/node-sass-binaries/v',
 92 packageInfo.version, '/', process.sassBinaryName,
 93 '/binding.node'

どうやらココらへんで使っている node のバージョンによって取ってくるバイナリが変わるようでした。
そしてこのリポジトリにたどりつきました。

すると darwin-x64-node-0.11 が用意されてませんでした…。

他のプラットフォームでも v0.11.x 用が無い…??

gulp-sass もとい node-sass は v0.10.x か v.0.12.x でしか使えないってことなんでしょうか。

(iojs 用のもありますが、いまのところは v1.2 だけみたいですね)

なにか歴史的経緯があったのかわかりませんが、バージョンを変えたらすんなりインストールできました。

ちょっとリスキーな回避方法かもしれませんが、他に良い方法があるんでしょうか。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする