エラー: 'node-sass' バージョン 5.0.0 は ^4.0.0 と互換性がありません 質問する

エラー: 'node-sass' バージョン 5.0.0 は ^4.0.0 と互換性がありません 質問する

npx create-react-appnpm v7.0.7およびNode.js v15.0.1で次のコマンドを使用して空のReactプロジェクトを作成しました。

インストール済み:

  • リアクトv17.0.1、
  • ノードサスv5.0.0、

次に、空の .scss ファイルを App コンポーネントにインポートしようとしました。

ファイルApp.js

import './App.scss'

function App() {
  return (
    <div className="App">
      App
    </div>
  );
}

export default App;

エラーが発生します:

Failed to compile.

./src/App.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-6-3!./node_modules/s
ass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/App.scss)
Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.

ファイルpackage.json

{
  "name": "react-17-node-sass-5",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.5",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "node-sass": "^5.0.0",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.0",
    "web-vitals": "^0.2.4"
  },
 ...

  }
}

ベストアンサー1

要約

  1. npm uninstall node-sass
  2. npm install sass

または、Yarnを使用する場合

  1. yarn remove node-sass
  2. yarn add sass

編集3 : はい、もう1つ編集します。sass (dart-sass) に移行するのが最善の解決策です。以前の解決策では、node-sass をバージョン 4.xx にロックしていましたが、これは 2 年前のもので、新しい SCSS 機能が欠けています。


編集2 : sass-loaderバージョン10.0.5修正します。問題は、これをプロジェクトの依存関係としてではなく、依存関係の依存関係として使用している可能性があることです。CRA は固定バージョンを使用し、angular-cli は node-sass v4 にロックするなどです。

現時点での推奨事項は、node-sassのみをインストールする場合は、以下の回避策(および注記)を確認してください。空のプロジェクトで作業していて、ウェブパック構成 (プロジェクトのスキャフォールディングに CRA または CLI を使用しない) では、最新の sass-loader をインストールします。


編集:このエラーはsassローダー. そこにはセマンティックバージョニングnode-sass @latest は v5.0.0 ですが、sass-loader は ^4.0.0 を想定しているため、不一致です。

リポジトリには、レビューが必要な関連する修正を含む未解決の問題があります。それまでは、以下の解決策を参照してください。


回避策: node-sass 5.0.0 をまだインストールしないでください (メジャー バージョンがアップグレードされたばかりです)。

node-sass をアンインストールする

npm uninstall node-sass

次に最新バージョン(5.0以前)をインストールします

npm install [email protected]


注: LibSass (したがって node-sass も同様)非推奨ですdart-sass が推奨される実装です。代わりsassこれは、純粋な JavaScript にコンパイルされた dart-sass の Node.js ディストリビューションです。

おすすめ記事