这也正在咬我的项目,它使用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"
}
}
答案 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
以清除本地缓存的包。