更新一下日裙,原來是自己挖的坑....
node版本要更新到最新版就不會有下面的事情發(fā)生,node-sass的問題看現(xiàn)象很有可能是這些二進(jìn)制文件使用了 GitHub 的 lfs 服務(wù),而 lfs 使用的是亞馬遜云,由于網(wǎng)絡(luò)原因,這些服務(wù)器無法訪問族淮。
我比較懶,直接用的淘寶cnpm安裝node-sass凭涂。
我是選擇用yoemen上的webapp generator來上手gulp的祝辣,具體步驟如下:
- 安裝yo
npm install -g yo
- 安裝webapp generator
npm install-g generator-webapp
- 創(chuàng)建webapp項(xiàng)目my-webapp
yo webapp my-webapp
至此都是一帆風(fēng)順,沒有問題切油。那我們來跑一下 gulp serve
試試蝙斜,看看這個工程到底長什么樣子。
糟糕澎胡,一運(yùn)行就報(bào)錯了
SyntaxError: Unexpected token ) at exports.runInThisContext (vm.js:73:16) at Module._compile (module.js:443:25) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at execute (/usr/local/lib/node_modules/gulp-cli/lib/versioned/^3.7.0/index.js:24:18) at Liftoff.handleArguments (/usr/local/lib/node_modules/gulp-cli/index.js:149:63) at Liftoff.(/usr/local/lib/node_modules/gulp-cli/node_modules/liftoff/index.js:193:16)
仔細(xì)一看原來是gulpfile里的使用了ES6語法孕荠,這個問題糾結(jié)我一會兒。我們要裝的轉(zhuǎn)譯ES6的Babel還要靠gulp來載入呢攻谁,那gulpfile里的ES6轉(zhuǎn)義特么誰來做稚伍?還好gulp在3.9版本起就支持ES6了,用法也簡單戚宦,只要把gulpfile.js 重命名為 gulpfile.babel.js 即可个曙。
- 重命名gulpfile
mv gulpfile.js gulpfile.babel.js
那接著我們繼續(xù),還是我們的 `gulp serve受楼。非guo常bu意qi外ran垦搬,報(bào)錯了,這次是node-sass:
Error: dlopen(node_modules/gulp-sass/node_modules/node-sass/vendor/darwin-x64-46/binding.node, 1): no suitable image found. Did find:
node_modules/gulp-sass/node_modules/node-sass/vendor/darwin-x64-46/binding.node: truncated mach-o error: segment __TEXT extends to 1167360 which is past end of file 121404
at Error (native)
at Object.Module._extensions..node (module.js:460:18)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object. (/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:16:15)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
google半天都是說重裝node-sass艳汽,甚至是找到下載這個包然后去對應(yīng)的目錄下替換猴贰,然而都沒什么卵用(反正我這是不行)。
我的辦法要是指定node-sass的安裝版本為2.0.1:
- 安裝node-sass
npm install node-sass@2.0.1
安裝成功后我們再試一下 gulp serve
, 這下好了河狐。