node sass 版本 3.5.3 正在破坏构建

node sass release 3.5.3 is breaking build

这也是目前咬我的项目,它使用gulp-sass。 gulp-sass 依赖于 node-sass#^3.4.1,它刚刚自动更新到 3.5.3,这是一个中断版本。

我通过更新 package.json 个文件,但它仍在损坏。

如何回到节点sass 3.4.2?

错误信息

错误:您不能从@media 中@extend 外部选择器。 您只能在同一指令中使用@extend 选择器。

{
  "version": "1.0.0",
  "name": "abcd",
  "devDependencies": {
     "bower": "^1.3.12",
    "express": "^4.12.3",
    "gulp": "^3.8.10",
    "gulp-autoprefixer": "^2.1.0",
    "gulp-bower": "^0.0.7",
    "gulp-concat": "^2.5.2",
    "gulp-install": "^0.4.0",
    "gulp-livereload": "^3.8.0",
    "gulp-minify-css": "^1.0.0",
    "gulp-plumber": "^1.0.0",
    "gulp-sass": "2.1.0",
    "gulp-sourcemaps": "^1.5.1",
    "gulp-uglify": "^1.1.0"
  },
  "dependencies": {
    "jquery": "1.11.1"
  }
}

如果需要,看起来像是对特定版本的 new version was just released that allows the "buggy" version of node-sass but you can always npm shrinkwrap 特定子依赖项 - 假设主包与该依赖项版本兼容。

这会将 gulp-sass 中的 node-sass 版本锁定为 3.4.2:

{
  "name": "yourprojectname",
  "version": "1.0.0",
  "dependencies": {
    "gulp-sass": {
      "version": "2.3.1",
      "from": "gulp-sass@>=2.3.1 <3.0.0",
      "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-2.3.1.tgz",
      "dependencies": {
        "node-sass": {
          "version": "3.4.2"
        }
      }
    }
  }
}

确保在再次 运行 npm install 之前删除 node_modules npm cache clean 以清除本地缓存的包。