Storybook8 + React17の環境を作ろうとした際に Cannot find module 'react-dom/client'
のエラーが発生しそのままではうまく動かなかったため、Storybook内部で使用されている特定のライブラリバージョンを固定することによって対応しました。
前提環境
- 元はStorybook6 + React17の環境だったものをStorybook8にアップグレード
- アップグレードの際には公式でも推奨されている
npx storybook@latest upgrade
を使用
解決方法
参考ページ
https://github.com/storybookjs/storybook/issues/26842
解決方法としては参考ページに記されているように、 package.jsonに resolutions
を設定する形になります。
package.json
{
...
"resolutions": {
...
"@storybook/react-dom-shim": "^7",
}
}
これによってStorybook内部で使われている @storybook/react-dom-shim
のバージョンが固定され、エラーも解消されます。