Sass-loader требует node-sass> = 4, даже если это существует

Я выполнил обновление до углового 6. И во время ng serve -o я получаю сообщение об ошибке, что sass -l oader ожидает 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 

и secod: я удалил локальный узел-модуль вместе с% User%\AppData\Roaming\npm-cache. затем я удалил файл блокировки и выполнил npm

npm cache clear --force
npm install

Но до сих пор нет успеха.

Что мне не хватает?

Ответ 1

npm rebuild --force

также помогает

Ответ 2

У меня была такая же проблема, которую я исправил с помощью следующих шагов:

  1. Удалите package-lock.json.
  2. Перейдите в папку node_module и запустите rm -rf node_modules.
  3. Запустить npm install

Файл package-lock.json будет автоматически обновляться с новой версией зависимостей.

Надеюсь, поможет.

Ответ 3

Я исправил это с

npm install node-sass

внутри папки проекта и для проекта, поскольку его глобальная установка (с -g) не решила проблему.

Надеюсь, поможет.

Ответ 4

Чтобы решить вашу проблему, запустите эту команду

npm install --unsafe-perm

Ответ 5

Следующие шаги решили эту проблему

  1. Удалить папку node-saas в \Users\<user_id>\AppData\Roaming\npm-cache
  2. Удалить папку node-saas в <application_folder>/node_modules
  3. Запустите npm install из <application_folder>

Ответ 6

Просто запустите этот код...

npm install --save node-sass

Ответ 7

Я исправил эту проблему, используя следующие шаги:

  1. Открыть package.json
  2. Добавьте версию, которую вы хотите установить из node-sass, например "node-sass": "^4.12.0"
  3. Запустите команду установки в интерфейсе командной строки (CLI): npm install node-sass
  4. Проблема будет решена.