2016年10月31日 星期一

「记录」使用 Laravel elixir、gulp、gulp-Sass 遇到的问题和解决方案

前些天升级了 Homestead 到指定版本(见 这里),发现好几个项目的 elixir、gulp、gulp-sass 随机搭配着出问题。
如:
$ gulp
[07:12:37] Warning: gulp version mismatch:
[07:12:37] Global gulp is 3.9.0
[07:12:37] Local gulp is 3.8.11
[07:12:38] Using gulpfile ~/Projects/phphub.org/laravel-china/gulpfile.js
[07:12:38] Starting 'default'...
[07:12:38] Starting 'sass'...
[07:12:38] 'sass' errored after 14 ms
[07:12:38] Error: `libsass` bindings not found. Try reinstalling `node-sass`?
    at getBinding (/Users/charliejade/Projects/phphub.org/laravel-china/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:22:11)
    at Object. (/Users/charliejade/Projects/phphub.org/laravel-china/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:188:23)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    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. (/Users/charliejade/Projects/phphub.org/laravel-china/node_modules/laravel-elixir/node_modules/gulp-sass/index.js:3:17)
    at Module._compile (module.js:425:26)
Error running task sequence: { task: 'sass',
  message: 'sass catch',
  duration: 0.014146409,
  hrDuration: [ 0, 14146409 ],
  err: [Error: `libsass` bindings not found. Try reinstalling `node-sass`?] }
[07:12:38] Finished 'default' after 19 ms
跟目录使用下面命令升级本地 gulp :
$ npm install gulp@3.9.0 --save
又出现:
Error: Cannot find module 'orchestrator'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object. (/Users/heikki/node_modules/gulp/index.js:4:20)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
。。。

解决方法#

修改 package.json 文件:
{
  "devDependencies": {
    "gulp": "*",
    "gulp-sass": "*",
    "laravel-elixir": "*"
  }
}
意指所有依赖都使用最新版本,最后安装成功。

from : https://laravel-china.org/topics/2101

沒有留言:

wibiya widget