【发布时间】:2018-10-17 00:43:14
【问题描述】:
我对 Angular 6 执行了更新。在 ng serve -o 期间,我收到 sass-loader 期望 node-sass 的错误。 运行 ng serve -o 后,我收到:
ERROR in ./src/sass/styles.scss (./node_modules/raw-loader!./node_modules/postcss-loader/lib??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/sass/styles.scss)
Module build failed: Error: `sass-loader` requires `node-sass` >=4. Please install a compatible version.
at Object.sassLoader (node_modules\sass-loader\lib\loader.js:31:19)
ERROR in ./src/app/app.component.scss
Module build failed: Error: `sass-loader` requires `node-sass` >=4. Please install a compatible version.
at Object.sassLoader (node_modules\sass-loader\lib\loader.js:31:19)
ERROR in x.component.scss
Module build failed: Error: `sass-loader` requires `node-sass` >=4. Please install a compatible version.
at Object.sassLoader (\node_modules\sass-loader\lib\loader.js:31:19)
ERROR in x.component.scss
Module build failed: Error: `sass-loader` requires `node-sass` >=4. Please install a compatible version.
at Object.sassLoader (loader.js:31:19)
ERROR in .x.component.scss
Module build failed: Error: `sass-loader` requires `node-sass` >=4. Please install a compatible version.
at Object.sassLoader (node_modules\sass-loader\lib\loader.js:31:19)
显然,我检查了所有内容(在我看来),但我不知道发生了什么。
Package.Json:
"devDependencies": {
"@angular-devkit/build-angular": "~0.6.0",
"@angular/cli": "6.0.0",
"@angular/compiler-cli": "6.0.0",
"@angular/language-service": "6.0.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.106",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-html-detailed-reporter": "^1.1.21",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-phantomjs-launcher": "^1.0.4",
"karma-teamcity-reporter": "^1.1.0",
"phantomjs-prebuilt": "^2.1.16",
"protractor": "~5.1.2",
"node-sass": "^4.9.0",
"sass-loader": "^7.0.1",
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": "2.7.2"
}
dir -l node_modules 说:
...
05/07/2018 08:53 AM <DIR> node-sass
...
05/07/2018 08:53 AM <DIR> sass-loader
...
我执行了:
npm rebuild node-sass
和第二种方法: 我删除了本地节点模块和 %User%\AppData\Roaming\npm-cache。然后我删除了锁定文件并执行了 npm
npm cache clear --force
npm install
但还是没有成功。
我错过了什么?
【问题讨论】:
-
sass-loader是 angular 的依赖,所以不需要在 package.json 中指定。尝试从 json 中删除node-sass和sass-loader,清除所有内容,安装并构建。 -
使用
node 10.0.0时遇到同样的问题...我现在再次降级为node 9.11.1,现在它可以工作...不知道可能是什么原因...。 -
遇到了同样的问题。我可以看到您已经进行了重建,但请尝试重建所有内容:
npm rebuild --force。这为我解决了问题。 -
@Sebastian Hildebrandt 我正在考虑从节点 10 降级到节点 9.11。之后我是否必须安装任何其他模块?升级到 Window 10 后,我的应用程序停止工作并收到相同的错误(模块构建失败:错误:
sass-loader需要node-sass>=4。)安装此程序后,安装 Python 2 并设置 PATH 时出现错误。我安装了 Python 3.x。现在我必须降级到 Python 2 吗?我的设置:Angular CLI:6.2.1 / 节点:10.0.0 / 操作系统:win32 x64