更新一下,原来是自己挖的坑....
node版本要更新到最新版就不会有下面的事情发生,node-sass的问题看现象很有可能是这些二进制文件使用了 GitHub 的 lfs 服务,而 lfs 使用的是亚马逊云,由于网络原因,这些服务器无法访问。
我比较懒,直接用的淘宝cnpm安装node-sass。
我是选择用yoemen上的webapp generator来上手gulp的,具体步骤如下:
- 安装yo
npm install -g yo
- 安装webapp generator
npm install-g generator-webapp
- 创建webapp项目my-webapp
yo webapp my-webapp
至此都是一帆风顺,没有问题。那我们来跑一下 gulp serve
试试,看看这个工程到底长什么样子。
糟糕,一运行就报错了
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)
仔细一看原来是gulpfile里的使用了ES6语法,这个问题纠结我一会儿。我们要装的转译ES6的Babel还要靠gulp来载入呢,那gulpfile里的ES6转义特么谁来做?还好gulp在3.9版本起就支持ES6了,用法也简单,只要把gulpfile.js 重命名为 gulpfile.babel.js 即可。
- 重命名gulpfile
mv gulpfile.js gulpfile.babel.js
那接着我们继续,还是我们的 `gulp serve。非guo常bu意qi外ran,报错了,这次是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,甚至是找到下载这个包然后去对应的目录下替换,然而都没什么卵用(反正我这是不行)。
我的办法要是指定node-sass的安装版本为2.0.1:
- 安装node-sass
npm install node-sass@2.0.1
安装成功后我们再试一下 gulp serve
, 这下好了。
网友评论