由于 broccoli-sass 和 node-sass,无法将 ember cli 应用程序推送到 heroku

can't push ember cli app to heroku due to broccoli-sass and node-sass

我一直在尝试部署到 Heroku,但它一直向我抛出错误。显然 node 0.12node-sass 不兼容所以我更新到 node-sass 2.0.1 但它仍然不起作用。我正在使用 ember cli 0.1.15

Module did not self-register.
       Error: Module did not self-register.
           at Error (native)
           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 Object.<anonymous> (/tmp/build_9fa8a1b16bb172aacd5dffe37fe967c1/node_modules/broccoli-sass/node_modules/node-sass/lib/index.js:181:15)
           at Module._compile (module.js:460:26)
           at Object.Module._extensions..js (module.js:478:10)
           at Module.load (module.js:355:32)
           at Function.Module._load (module.js:310:12)

 !     Push rejected, failed to compile Ember CLI app

出现这个问题是因为 Heroku 使用的是 nodejs 0.12.0 的最新版本,它与 [=16] 使用的 node-sass < 2.0.1 不兼容=],您更新了 node-sass 的本地版本,但 broccoli-sass 仍在使用旧版本的 node-sass broccoli-sass 上有一些拉取请求来解决该问题

https://github.com/joliss/broccoli-sass/pull/49 https://github.com/joliss/broccoli-sass/pull/43

同时您可以修改您的 package.json

来自

  "engines": {
    "node": ">= 0.10.0"
  }

  "engines": {
    "node": "0.10.x"
  }