[解決済み] エラー: 'node-sass' バージョン 5.0.0 は ^4.0.0 と非互換です。
質問
コマンドを使用して、空白のReactプロジェクトを作成しました。
npx create-react-app
npm v7.0.7 と Node.js v15.0.1 上で。
インストールされています。
- React v17.0.1。
- node-sass v5.0.0。
次に、App コンポーネントに空の .scss ファイルをインポートしようとしました。
ファイル 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.
ファイル パッケージ.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"
},
...
}
}
解決方法は?
TL;DR
-
npm uninstall node-sass
-
npm install sass
または、Yarnを使用する場合
-
yarn remove node-sass
-
yarn add sass
編集3 : はい、また編集です。sass (dart-sass)に移行するのが最良の解決策です。以前のものは、node-sassを2年前のバージョン4.x.xにロックして、より新しいSCSSの機能を欠いていました。
編集2 : sass-loader v10.0.5 はそれを修正します。問題は、プロジェクトの依存関係としてではなく、依存関係の依存関係として使っている可能性があることです。CRAは固定バージョンを使用し、angular-cliはnode-sass v4にロックする、などです。
今のところ推奨は、node-sassだけをインストールしている場合は、以下の回避策を確認してください(と注意書き)。もし、白紙のプロジェクトで作業していて、自分の ウェブパック の設定(CRAやプロジェクトの足場となるCLIを使用しない)には、最新のsass-loaderをインストールしてください。
編集 : このエラーは次の場所から発生します。 サスローダ . そこには セマンティックバージョニング 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ディストリビューションです。
関連
-
[解決済み】<Router>の外側で<Link>を使用してはならない
-
[解決済み】コンポーネントの定義に表示名がない react/display-name
-
[解決済み] テスト
-
[解決済み] TypeError: reactjs の未定義のプロパティ 'status' を読み取ることができません。
-
[解決済み] Uncaught (in promise) Error: リクエストに失敗、ステータスコード404
-
[解決済み] ReactJs "インバリアント違反..." リアクトの古典的な問題
-
[解決済み] ReactコンポーネントのJest SnapshotテストにおけるSnapshotテストの仕組みとtoMatchSnapshot()関数は何をするのか?
-
[解決済み] componentDidUpdate'メソッドはいつ使用するのですか?
-
[解決済み] Reactプロジェクトに.envファイルを追加する
-
[解決済み] Reactのrender()にFont Awesomeのアイコンを入れる方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】React - 式は1つの親要素を持つ必要がありますか?
-
[解決済み】エラー。Node Sass は現在の環境をまだサポートしていません。Windows 64-bit with false
-
[解決済み】ngrokがReact devサーバーに接続しようとすると、無効なホストヘッダが表示される。
-
[解決済み】Warning.Itが表示されるのはなぜですか?Functions are not valid as a React child?
-
[解決済み] FontAwesomeの無料パッケージに含まれているアイコンのオブジェクト名はどこにあるのですか?
-
[解決済み] reactでonloadを使うには?
-
[解決済み] react.jsで複数のモジュールをエクスポートする
-
[解決済み] ReactJS で inst.render が関数でないエラーが発生する
-
[解決済み] は、gatsby-imageで動作する良いreactのカルーセルコンポーネントはありますか?[って聞かれます。]
-
[解決済み] Reactプロジェクトに.envファイルを追加する