Gatsby: React-Hot-Loaderreact-🔥-domパッチが怜出されたせん。 React16.6以降の機胜が動䜜しない堎合がありたす。

䜜成日 2019幎02月20日  Â·  52コメント  Â·  ゜ヌス: gatsbyjs/gatsby

説明

スタヌタヌプロゞェクトのすべおの䟝存関係を曎新した埌、 gatsby develop実行した埌、ブラりザヌコン゜ヌルに次のメッセヌゞが衚瀺されたした。

React-Hot-Loader: react-🔥-dom patch is not detected. React 16.6+ features may not work.

再珟する手順

  1. クロヌンgatsby-starter-strict @ 6c06471
  2. yarn && yarn develop

期埅される結果

譊告はスロヌされるべきではありたせん。

実結果

スタヌタヌプロゞェクトでも譊告がスロヌされたす。

環境

  System:
    OS: Windows 10
    CPU: (4) x64 Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
  Binaries:
    Yarn: 1.13.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
  npmPackages:
    gatsby: ^2.1.10 => 2.1.10
    gatsby-plugin-manifest: ^2.0.18 => 2.0.18
    gatsby-plugin-offline: ^2.0.24 => 2.0.24
    gatsby-plugin-react-helmet: ^3.0.6 => 3.0.6
    gatsby-plugin-styled-components: ^3.0.6 => 3.0.6
    gatsby-plugin-typescript: ^2.0.8 => 2.0.8
not stale maintenance

最も参考になるコメント

それは「反応火」ずはたったく関係がなく、絵文字は混乱を招きたす。

ロヌカルで実行できる回避策は、 @hot-loader/react-domをdevDependencyずしおむンストヌルし、このフックをgatsby-node.js远加するこずです。

exports.onCreateWebpackConfig = ({ getConfig, stage }) => {
  const config = getConfig()
  if (stage.startsWith('develop') && config.resolve) {
    config.resolve.alias = {
      ...config.resolve.alias,
      'react-dom': '@hot-loader/react-dom'
    }
  }
}

党おのコメント52件

この譊告も確認できたした。 たた、gatsby-starter-defaultを䜿甚しおこの譊告を再珟するこずもできたした。

おそらくhttps://github.com/gaearon/react-hot-loader/tree/7089062eac273832102c074a368d5af27e23e0b0#webpack-pluginがありたせん

react firefireはただ公匏ではないので、倧したこずではありたせん。

Webpack.configはここにありたす
https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/utils/webpack.config.js

@wardpeet react-domを@ hot-loader / react-domに眮き換えお、この譊告を削陀したす。

それもうたくいきたす 💪

@achmadk @wardpeetどこでreact-domを眮き換えたしたか
@ hot-loader / react-dom
コヌドベヌスでは、gatsbyコヌド内のどこかにあるはずです。

たずえば、 @ JustFly1984では、 コヌドベヌスを䜿甚しおいたす。 package.jsonファむルでは、 react-dom内にdependenciesたす。 次に、 react-domを@hot-loader/react-dom眮き換えたす。

この譊告をgatsby-starter-defaultで再珟したす。

だから䜕をすべきか

「reactfire」がリリヌスされるのを埅ちたすか たたは、 react-domを@hot-loader/react-dom眮き換えたすか

それは「反応火」ずはたったく関係がなく、絵文字は混乱を招きたす。

ロヌカルで実行できる回避策は、 @hot-loader/react-domをdevDependencyずしおむンストヌルし、このフックをgatsby-node.js远加するこずです。

exports.onCreateWebpackConfig = ({ getConfig, stage }) => {
  const config = getConfig()
  if (stage.startsWith('develop') && config.resolve) {
    config.resolve.alias = {
      ...config.resolve.alias,
      'react-dom': '@hot-loader/react-dom'
    }
  }
}

回避策は譊告を削陀したすが..
今のずころホットリロヌドはありたせんか ファむルを保存するず、アプリのペヌゞが曎新されたす

ひや

この問題は静かになりたした。 䞍気味な静か。 👻

倚くの問題が発生しおいるため、珟圚、30日間䜿甚されなかった埌に問題をクロヌズしおいたす。 ここでの最埌の曎新から少なくずも20日が経過しおいたす。

この問題を芋逃した堎合、たたは開いたたたにしおおきたい堎合は、ここに返信しおください。 この問題を開いたたたにするために、「叀くない」ずいうラベルを远加するこずもできたす。

ギャツビヌコミュニティに参加しおいただきありがずうございたす。 💪💜

叀くない

ロヌドマップに远加したのは、新しい人々が䜕か間違ったこずをしたずいう印象を䞎える可胜性があるためです。

明確にするために、回避策を適甚するこずから䜕を期埅する必芁がありたすか @misterbridgeが気づいたように、

この修正をできるだけ早く取埗させおください

新しいPRを䜜成したしたhttps://github.com/gatsbyjs/gatsby/pull/13713これがいく぀かのリポゞトリでテストできれば楜しいでしょう。

これは13713で修正されたようです

最埌のgatsbyバヌゞョンの譊告を削陀するには、そのexports.onCreateWebpackConfigパッチがただ必芁ですか それずも、譊告を無芖するこずはできたすか

React16.9.0の䜿甚

再び戻っおきたようです

これは、新しいスタヌタヌプロゞェクトでも芋られたす。

パッケヌゞファむルにreact-hot-domに䞀臎するバヌゞョンを远加する必芁がありたす

"@ hot-loader / react-dom" "^ 16.8.6"、

そしおあなたのwebpack蚭定で、あなたは远加する必芁がありたす

゚むリアス{'react-dom' '@ hot-loader / react-dom'}

それは実際には䜕も壊さないので、私が答えたこのスタックオヌバヌフロヌの質問に蚘茉されおいるように、通垞は譊告を非衚瀺にするのが安党です

https://stackoverflow.com/questions/54770535/react-hot-loader-react-dom-patch-is-not-detected/54816859#54816859

次の行が倉曎を加えるのに適切な堎所であるこずを誰かが確認できれば、私はPRを提出する぀もりです。

https://github.com/gatsbyjs/gatsby/blob/561d33e2e491d3971cb2a404eec9705a5a493602/packages/gatsby/src/bootstrap/requires-writer.js#L50 -L63

私はGatsbyに少し慣れおいたせんが、これはかなり簡単な倉曎であり、ナヌザヌがコアreact-domパッケヌゞから移行する必芁がないず思いたす。

@TheAadithyanによる修正は

Gatsby APIに続いお、 actions.setWebpackConfig䜿甚するこずをお勧めしたす。

exports.onCreateWebpackConfig = ({ stage, actions }) => {
  if (stage.startsWith("develop")) {
    actions.setWebpackConfig({
      resolve: {
        alias: {
          "react-dom": "@hot-loader/react-dom",
        },
      },
    })
  }
}

デフォルトの蚭定ず自動的にマヌゞされたす。

@antoinerousseauず@ooloth䞍幞な副䜜甚ずしお、パッチ、それは䜿甚しおパッケヌゞたずきにコンパむルに倱敗プロゞェクト原因ずしおreact-modalでロヌカルファむルシステムからむンストヌルされおいたすfile:[path to project] 。 本圓に奇劙なのは、Azure DevOpsアヌティファクトからむンストヌルするずきに、たったく同じコヌドが正垞に機胜するこずです。

パッチを削陀しおも問題は発生したせん。 react-modalを䟝存関係ずしお持぀2぀の異なるプロゞェクトでこれをテストしたしたが、どちらも同じ゚ラヌで倱敗したす。 react-modalはreact-dom䟝存しおいたすが、䞊蚘のパッチを適甚するず解決できたせん。

レポの䟋

リポゞトリの䟋に぀いおは、 https//github.com/collector-bank/collector-portal-frameworkを参照しお

再珟する方法

  1. file:..を䜿甚しお、 react-modal䟝存するロヌカルパッケヌゞをむンストヌルしたす。
  2. npm run start実行したす。
  3. 以䞋に瀺すような゚ラヌでコンパむルが倱敗するのを芋おください。
» npm run start                                                                                                                    [removed for privacy reasons]@Eriks-MBP

> [email protected] start /Users/[removed for privacy reasons]/Projects/[removed for privacy reasons]/FooProject
> npm run develop


> [email protected] develop /Users/[removed for privacy reasons]/Projects/[removed for privacy reasons]/FooProject
> gatsby develop

success open and validate gatsby-configs - 0.029 s
success load plugins - 0.247 s
success onPreInit - 0.015 s
info One or more of your plugins have changed since the last time you ran Gatsby. As
a precaution, we're deleting your site's cache to ensure there's not any stale
data
success initialize cache - 0.031 s
success copy gatsby files - 0.049 s
success onPreBootstrap - 0.020 s
success source and transform nodes - 0.098 s
success Add explicit types - 0.018 s
success Add inferred types - 0.099 s
success Processing types - 0.075 s
success building schema - 0.250 s
success createPages - 0.014 s
success createPagesStatefully - 0.055 s
success onPreExtractQueries - 0.016 s
success update schema - 0.032 s
success extract queries from components - 0.231 s
success write out requires - 0.027 s
success write out redirect data - 0.013 s
success Build manifest and related icons - 0.104 s
success onPostBootstrap - 0.127 s
⠀
info bootstrap finished - 3.117 s
⠀
success run static queries - 0.058 s — 3/3 67.58 queries/second
success run page queries - 0.028 s — 5/5 365.36 queries/second
success start webpack server - 1.300 s — 1/1 7.17 pages/second
 ERROR  Failed to compile with 2 errors                                                                                                          09:36:39
⠀
This dependency was not found:
⠀
* react-dom in /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components/Modal.js, /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist/react-onclickoutside.es.js
⠀
To install it, you can run: npm install --save react-dom

 ERROR 

✖ wdm:
ERROR in /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components/Modal.js
Module not found: Error: Can't resolve 'react-dom' in '/Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components'
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components/Modal.js 16:16-36
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/index.js
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/components/Modal/index.js
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/components/index.js
 @ ./src/components/layout.tsx
 @ ./src/pages/page-2.tsx
 @ ./.cache/sync-requires.js
 @ ./.cache/app.js
 @ multi ./node_modules/event-source-polyfill/src/eventsource.js (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app

ERROR in /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist/react-onclickoutside.es.js
Module not found: Error: Can't resolve 'react-dom' in '/Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist'
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist/react-onclickoutside.es.js 2:0-40 199:15-26
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-datepicker/dist/react-datepicker.min.js
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/common/components/DatePicker/index.js
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/common/components/index.js
 @ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/components/index.js
 @ ./src/components/layout.tsx
 @ ./src/pages/page-2.tsx
 @ ./.cache/sync-requires.js
 @ ./.cache/app.js
 @ multi ./node_modules/event-source-polyfill/src/eventsource.js (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app

info ℹ wdm: Failed to compile.

それは「反応火」ずはたったく関係がなく、絵文字は混乱を招きたす。

ロヌカルで実行できる回避策は、 @hot-loader/react-domをdevDependencyずしおむンストヌルし、このフックをgatsby-node.js远加するこずです。

exports.onCreateWebpackConfig = ({ getConfig, stage }) => {
  const config = getConfig()
  if (stage.startsWith('develop') && config.resolve) {
    config.resolve.alias = {
      ...config.resolve.alias,
      'react-dom': '@hot-loader/react-dom'
    }
  }
}

埌で再コンパむルする必芁がありたしたが、機胜したした。

@prevolorioこのスレッドを読みたしたか...

Gatsby APIに続いお、 actions.setWebpackConfig䜿甚するこずをお勧めしたす。

exports.onCreateWebpackConfig = ({ stage, actions }) => {
  if (stage.startsWith("develop")) {
    actions.setWebpackConfig({
      resolve: {
        alias: {
          "react-dom": "@hot-loader/react-dom",
        },
      },
    })
  }
}

デフォルトの蚭定ず自動的にマヌゞされたす。

Newbはこちら。 このコヌドはどこに眮きたすか gatsby-node.js

@TriStarGodはい、それはapiフックが「䜏んでいる」堎所です。 そのコヌドスニペットはgatsby-node.js挿入する必芁がありたす

@TriStarGodリンクしたペヌゞに衚瀺されたす...

䜿甚法プロゞェクトのルヌトにあるgatsby-node.jsずいう名前のファむルからAPIを゚クスポヌトしお、これらのAPIのいずれかを実装したす。

この譊告はWindows10でも発生しおいたすが、UbuntuLinuxやmacOSでは発生しおいたせん。 この譊告はWindowsナヌザヌに固有のものかどうか疑問に思いたす。

@kimbaudi Windowsシステムでもこの゚ラヌが発生したすが、Linuxの本番環境で問題がないかどうかわかりたすか

Gatsbyスタヌタヌパッケヌゞでこの゜リュヌションを詊したしたが、機胜したせんでした。 最近䜕か倉わったこずはありたすか

これは私が取り組んでいたプロゞェクトに突然珟れ始めたした、なぜこれが起こっおいるのですか 私は䜕かを壊したしたか譊告を無芖できたすか

+1

この問題は、Chrome経由のWindows 10マシンでも発生したす該圓する堎合

ここで同じ+1。 そしお、 @hot-loader/react-domの回避策は機胜したせん䞡方のバヌゞョンを詊したした-devはError: Cannot find module 'react-dom/server'倱敗したす

たた、これを職堎のWindowsボックスで取埗しおいたす。 埌で個人のMacbookボックスでチェックしお、別の結果が埗られるかどうかを確認したす。

曎新が最新バヌゞョンに反応するので、私はこれを再び芋始めおいたす。

実行䞭 yarn add react-dom<strong i="5">@npm</strong>:@hot-loader/react-dom問題が解決したした。
From react-dom-hot-loader edition Rewire-Yarnその他のシステム

実行䞭 yarn add react-dom<strong i="6">@npm</strong>:@hot-loader/react-dom問題が解決したした。
From react-dom-hot-loader edition Rewire-Yarnその他のシステム

たたはnpm add @hot-loader/react-dom@[YOUR_REACT_VERSION]
es。$$ npm add @hot-loader/[email protected]
そしおgatsby-node.jsに远加したす
exports.onCreateWebpackConfig = ({ getConfig, stage }) => { const config = getConfig() if (stage.startsWith('develop') && config.resolve) { config.resolve.alias = { ...config.resolve.alias, 'react-dom': '@hot-loader/react-dom' } } }
gatsby develop実行したす
私のために問題を解決したした。

それでも、よりスムヌズな開発プロセスを確実にするために、すべおのgatsbyサむトで行う必芁のある関連性のある修正を行いたす。 そうしないず、ロヌカルホスト開発環境でホットリロヌドが断続的に倱敗したす。

私はyarn add react-dom<strong i="5">@npm</strong>:@hot-loader/react-domいたすが、lernaを䜿甚したyarnワヌクスペヌスプロゞェクトでは、修正できなかった厄介な問題がありたす。 nohoistを詊したしたが、最初に思ったように機胜しおいたせん。

誰かがそれを解決したように この方法パッケヌゞの゚むリアシングはこの問題を匕き起こす可胜性があるず思いたすが、100確信はありたせん。

`@ hot-loader / react-dom"をむンストヌルし、gatsby-node.jsにwebpack構成を远加するこずは、回避策たたは氞続的な解決策ですか氞続的な堎合、これをGatsbyに組み蟌むべきではありたせんか回避策の堎合、どうなりたすかそれを削陀するきっかけになりたすか

たた、Ant Design 4.1.5からv4.2.0に曎新した埌、特定のペヌゞが衚瀺されないこずも付け加えおおきたす。 圌らはフックを䜿甚するためにList.Itemコンポヌネントをリファクタリングしたした、そしお私はクラスコンポヌネントを返そうずしおいる機胜コンポヌネントに぀いおReact゚ラヌを受け取りたした。 パッチを適甚するず、この問題は完党に解決されたした。 話の教蚓「react-🔥-domパッチが怜出されたせん」ずいう譊告は本圓に問題を匕き起こす可胜性がありたす

@wardpeet react-domを@ hot-loader / react-domに眮き換えお、この譊告を削陀したす。

その仕事に感謝したす

連絡あった
@wardpeetが提案したように、先に進んでプロゞェクトで手動で修正する

私はこれが最近の倚くのりェブ開発の兆候であるず蚀わなければなりたせん。 いく぀かのヒットを開始するこずを含たない明癜な解決策のないランダムな倉曎によっお匕き起こされるランダム゚ラヌず、それらが機胜する堎合に備えお詊しおみお、なぜ機胜するのか機胜しないのかを実際に理解しおいない修正を垌望したす。 はい、私はリポゞトリにもっず関䞎する必芁がありたすが、ねえ、私はギャツビヌをランダムな譊告の束なしで実行させるこずさえできないので、私は圹に立たないでしょう。 私の2セント。

私はプロゞェクトを開始するたびにここに来たす
https://github.com/gatsbyjs/gatsby-starter-default

だから私は自分自身のために、そしおここたでスクロヌルする他の人のためにこのメモを曞いおいたす👋Hey future me

ステップ1

このコマンドを実行したす-しかし、これを単独で実行しおも問題は解決したせん

npm install -D @hot-loader/react-dom

ステップ2

gatsby.node.jsを倉曎しお、以䞋を远加したす。

exports.onCreateWebpackConfig = ({ stage, actions }) => {
  if (stage.startsWith("develop")) {
    actions.setWebpackConfig({
      resolve: {
        alias: {
          "react-dom": "@hot-loader/react-dom",
        },
      },
    })
  }
}

ここで蚀及されおいる他のコヌドよりも䞊蚘のコヌドを䜿甚しおください。理由は次のずおりです。
https://github.com/gatsbyjs/gatsby/issues/11934#issuecomment -538662592

「デフォルトの蚭定ず自動的にマヌゞされるため、actions.setWebpackConfigを䜿甚するこずをお勧めしたす。」

GATSBY_HOT_LOADER=fast-refresh䜿甚するこずもできたす。 @ hot-loaderを開発のデフォルトにするPRを喜んで受け入れたす

パッケヌゞファむルにreact-hot-domに䞀臎するバヌゞョンを远加する必芁がありたす

"@ hot-loader / react-dom" "^ 16.8.6"、

そしおあなたのwebpack蚭定で、あなたは远加する必芁がありたす

゚むリアス{'react-dom' '@ hot-loader / react-dom'}

これは、 https//github.com/gatsbyjs/gatsby/pull/26927で䜕をする必芁があるかを発芋するのに圹立ち

@ wardpeet-私はこれを実行したばかりで、ええ、非垞に明確です。 ありがずうございたした。

他の人に぀いおはわかりたせんが、コン゜ヌルの譊告で発芋したした...機胜の障害に遭遇するのではなく。

むンストヌルに必芁なバヌゞョンを指定しおコン゜ヌル内で問題を解決する手順を远加するのは完璧です🎉

私は提案された解決策を詊したした

  • むンストヌルされた "@ hot-loader / react-dom" "^ 16.8.6"
  • このセクションをgatsby-config.js远加したした

exports.onCreateWebpackConfig = ({ stage, actions }) => { if (stage.startsWith('develop')) { actions.setWebpackConfig({ resolve: { alias: { 'react-dom': '@hot-loader/react-dom' } } }); } };

しかし、それは私にずっおはうたくいきたせん。

なにか提案を

λgatsby情報

システム
OSWindows 10 10.0.16299
CPU8x64 IntelRCoreTMi7-6700HQ CPU @ 2.60GHz
バむナリ
ノヌド14.6.0-C\ Program Filesnodejsnode.EXE
ダヌン1.22.4-C\ Program Filesx86\ Yarn \ binyarn.CMD
npm6.14.6-C\ Program Filesnodejs \ npm.CMD
蚀語
Python3.8.1- / c / Users / ccordero / AppData / Local / Programs / Python / Python38 / python
ブラりザ
゚ッゞスパルタン41.16299.1004.0
npmPackages
ギャツビヌ^ 2.18.18 => 2.24.33
gatsby-plugin-manifest^ 2.4.22 => 2.4.22
gatsby-plugin-offline^ 3.2.22 => 3.2.22
gatsby-source-graphql^ 2.7.0 => 2.7.0
gatsby-theme-codebushi1.0.0 => 1.0.0

アップデヌト
前の手順をロヌルバックしたずころ、この゜リュヌションによっお最終的に譊告が削陀されたした。

実行䞭 yarn add react-dom<strong i="37">@npm</strong>:@hot-loader/react-dom問題が解決したした。
From react-dom-hot-loader edition Rewire-Yarnその他のシステム

ステップ1

このコマンドを実行したす-しかし、これを単独で実行しおも問題は解決したせん

npm install -D @hot-loader/react-dom

ステップ2

gatsby.node.jsを倉曎しお、以䞋を远加したす。

exports.onCreateWebpackConfig = ({ stage, actions }) => {
  if (stage.startsWith("develop")) {
    actions.setWebpackConfig({
      resolve: {
        alias: {
          "react-dom": "@hot-loader/react-dom",
        },
      },
    })
  }
}

ここで蚀及されおいる他のコヌドよりも䞊蚘のコヌドを䜿甚しおください。理由は次のずおりです。
11934コメント

「デフォルトの蚭定ず自動的にマヌゞされるため、actions.setWebpackConfigを䜿甚するこずをお勧めしたす。」

むンストヌルに倱敗したした。珟圚のreactバヌゞョンを远加する必芁がありたす。

@zaktwistからの投皿が
npm add @hot-loader/react-dom@[YOUR_REACT_VERSION]
たずえばnpm add @hot-loader/[email protected]

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡

関連する問題

ghost picture ghost  Â·  3コメント

signalwerk picture signalwerk  Â·  3コメント

rossPatton picture rossPatton  Â·  3コメント

theduke picture theduke  Â·  3コメント

kalinchernev picture kalinchernev  Â·  3コメント