npx create-react-app
npm 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
要約
npm uninstall node-sass
npm install sass
または、Yarnを使用する場合
yarn remove node-sass
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 ディストリビューションです。