##環境
仮想環境のOS:Ubuntu
react:16.7.0
webpack:4.28.2
状況1
「webpack-cli」をインストールした後、このように出力されました。
以下、エラー内容です。reactやreact-domと依存関係にあります的な警告が出て、
「webpack-cli」モジュールが見つからないというエラーが出てしまいました。
npm WARN The package react is included as both a dev and production dependency.
npm WARN The package react-dom is included as both a dev and production dependency.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ webpack-cli@3.2.3
updated 1 package in 12.168s
{ Error: Cannot find module 'webpack-cli'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at runCommand.then (/home/vagrant/.nvm/versions/node/v8.10.0/lib/node_modules/webpack/bin/webpack.js:142:5)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7) code: 'MODULE_NOT_FOUND' }
##状況2
何度もyesと入力してインストールしても、
また以下のように表示されてしまう
One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:
- webpack-cli (https://github.com/webpack/webpack-cli)
The original webpack full-featured CLI.
We will use "npm" to install the CLI via "npm install -D".
Do you want to install 'webpack-cli' (yes/no)
解決方法
「webpack-cli」をグローバルインストールすることにしました。
npm install -g webpack-cli
その結果、以下のようにwebpackを動かすことに成功しました。
Hash: f9c9b485a1a36c8d4c10
Version: webpack 4.28.3
Time: 4263ms
Built at: 2019-02-24 05:57:22
Asset Size Chunks Chunk Names
test2.js 111 KiB 0 [emitted] main
Entrypoint main = test2.js
[7] (webpack)/buildin/global.js 878 bytes {0} [built]
[8] ./src/main.js + 1 modules 2.79 KiB {0} [built]
| ./src/main.js 225 bytes [built]
| ./src/Hello.js 2.56 KiB [built]
+ 7 hidden modules
注意
ただ、グローバルインストールはあまり控えるべきらしいです。。。
https://mosapride.com/index.php/2018/02/06/post-681/
上記のサイトのように、「グローバルインストールしたパッケージはpackage.jsonに記載されない。つまりグローバルインストールすることを前提にREADME.mdなどに注意事項を書く必要が出て来るため構築時に作業量が増える。またグローバルインストールのバージョンが管理外になるため同一の環境になる保証がない」
とあります。今回グローバルインストールしたらなんとかエラーが出ず動くようになったので、それ以外の解決方法があれば教えてくただけると幸いです。。。