0

バックグラウンド

AirBnB linting を機能させようとしていたのですが、package.jsonファイルの新規インストールを行うために npm パッケージをアンインストールすることにしました。

私がしたこと

bash コマンドを実行します。

npm uninstall `ls -1 node_modules | tr '/\n' ' '`

その後、コードベースの標準的なインストール手順に従いました。これは、適切なディレクトリにインストールする NPM のみです。私はそれを正しくやったと確信しています。

予期せぬことが起こった

Webpack セットアップを実行するnpm startと、次のエラーが発生するまで、すべてがうまくいきました。

to be executed: nodemon --exec babel-node bin/server --no_debug
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `babel-node bin/server --no_debug`
  app:config Creating default configuration. +0ms
  app:config Looking for environment overrides for NODE_ENV "development". +105ms
  app:config Found overrides, applying to default configuration. +6ms
  app:webpack:config Create configuration. +727ms
  app:webpack:config Enable plugins for live development (HMR, NoErrors). +1ms
  app:server:webpack-dev Enable webpack dev middleware. +385ms
  app:server:webpack-hmr Enable Webpack Hot Module Replacement (HMR). +38ms
  app:bin:server Server is now running at http://172.20.10.2:3000. +9ms
  app:bin:server Server accessible via localhost:3000 if you are using the project defaults. +0ms
webpack built b6bb9c1f12e4a68bce6a in 9735ms
Hash: b6bb9c1f12e4a68bce6a
Version: webpack 1.13.3
Time: 9735ms
                             Asset     Size  Chunks       Chunk Names
       app.b6bb9c1f12e4a68bce6a.js   1.9 MB       0       app
    vendor.b6bb9c1f12e4a68bce6a.js   664 kB       1       vendor
   app.b6bb9c1f12e4a68bce6a.js.map  2.23 MB       0       app
vendor.b6bb9c1f12e4a68bce6a.js.map   808 kB       1       vendor

ERROR in ./~/react-dom/lib/ReactDOMUnknownPropertyHook.js
Module not found: Error: Cannot resolve module 'react/lib/ReactComponentTreeHook' in /Users/pedrofigueiredo/Documents/hs/src/healthsite/react/frontend/node_modules/react-dom/lib
 @ ./~/react-dom/lib/ReactDOMUnknownPropertyHook.js 15:29-72

ERROR in ./~/react-dom/lib/ReactDOMNullInputValuePropHook.js
Module not found: Error: Cannot resolve module 'react/lib/ReactComponentTreeHook' in /Users/pedrofigueiredo/Documents/hs/src/healthsite/react/frontend/node_modules/react-dom/lib
 @ ./~/react-dom/lib/ReactDOMNullInputValuePropHook.js 13:29-72

ERROR in ./~/react-dom/lib/ReactDOMInvalidARIAHook.js
Module not found: Error: Cannot resolve module 'react/lib/ReactComponentTreeHook' in /Users/pedrofigueiredo/Documents/hs/src/healthsite/react/frontend/node_modules/react-dom/lib
 @ ./~/react-dom/lib/ReactDOMInvalidARIAHook.js 14:29-72

ERROR in ./~/react-dom/lib/ReactDebugTool.js
Module not found: Error: Cannot resolve module 'react/lib/ReactComponentTreeHook' in /Users/pedrofigueiredo/Documents/hs/src/healthsite/react/frontend/node_modules/react-dom/lib
 @ ./~/react-dom/lib/ReactDebugTool.js 16:29-72

ERROR in ./~/react-dom/lib/ReactChildReconciler.js
Module not found: Error: Cannot resolve module 'react/lib/ReactComponentTreeHook' in /Users/pedrofigueiredo/Documents/hs/src/healthsite/react/frontend/node_modules/react-dom/lib
 @ ./~/react-dom/lib/ReactChildReconciler.js 29:27-70 37:31-74

ERROR in ./~/react-dom/lib/flattenChildren.js
Module not found: Error: Cannot resolve module 'react/lib/ReactComponentTreeHook' in /Users/pedrofigueiredo/Documents/hs/src/healthsite/react/frontend/node_modules/react-dom/lib
 @ ./~/react-dom/lib/flattenChildren.js 26:27-70 42:33-76

ERROR in ./~/react-dom/lib/checkReactTypeSpec.js
Module not found: Error: Cannot resolve module 'react/lib/ReactComponentTreeHook' in /Users/pedrofigueiredo/Documents/hs/src/healthsite/react/frontend/node_modules/react-dom/lib
 @ ./~/react-dom/lib/checkReactTypeSpec.js 29:27-70 71:37-80
webpack: bundle is now VALID.

package.json反応バージョンが関係しているようですが、ファイルを何も変更していないので信じがたいです。

参照用の関連部分は次のとおりです。

  "dependencies": {

    [...]

    "react": "15.0.1",
    "react-dom": "^15.0.0",
    "react-redux": "^4.0.0",
    "react-router": "^2.2.0",
    "react-router-redux": "^4.0.0",

これを修正するにはどうすればよいですか?

4

1 に答える 1

1

NPM の代わりにを使用することを検討してください。Yarn は、yarn.lock ファイルを作成することで決定論的なインストールを提供します。これにより、異なるマシンに異なる時間にインストールされた deps がすべて同じバージョンに解決されるようになりnpm install --save-exact fooます。

@Yan Maleksi が提案したように、実行yarn(の短縮形yarn install) は、npm の問題を解決するための最初のステップである と同等です。rm -rf node_modules && npm install

Yarn はインストールの競合を npm とは異なる方法で表現するため、どの依存関係が問題であるかを簡単に確認できる場合があります。あなたの場合、「モジュール 'react/lib/ReactComponentTreeHook' を解決できません」を検索すると、react-hot-loader が問題である可能性が示唆されますが、依存関係のリスト全体と関連するインストール エラーを確認せずに判断するのは困難です。

于 2016-12-05T10:45:42.510 に答える