node sass release 3.5.3正在打破构建

时间:2016-04-23 03:59:03

标签: sass gulp gulp-sass node-sass

这也正在咬我的项目,它使用gulp-sass。 gulp-sass依赖于node-sass#^ 3.4.1,它只是自动更新到3.5.3,这是一个破发版。

通过更新,我已经将我的gulp sass版本降级为旧版本(2.1.0) package.json文件,但它仍在破碎。

如何回到节点sass 3.4.2?

错误消息

错误:您可能无法从@media中扩展外部选择器。       您只能在同一指令中@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"
  }
}

1 个答案:

答案 0 :(得分:6)

看起来像new version was just released that allows the "buggy" version of node-sass,但如果需要,您可以始终npm shrinkwrap特定版本的特定子依赖项 - 假设主程序包与该依赖项版本兼容。

这会将node-sass中的gulp-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"
        }
      }
    }
  }
}

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