LoginSignup
6
6

More than 5 years have passed since last update.

npmで他のモジュールと依存関係がありますみたいな警告が出て、モジュールが「Cannot find module」になってしまう場合

Last updated at Posted at 2019-02-24

環境

仮想環境の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などに注意事項を書く必要が出て来るため構築時に作業量が増える。またグローバルインストールのバージョンが管理外になるため同一の環境になる保証がない」

とあります。今回グローバルインストールしたらなんとかエラーが出ず動くようになったので、それ以外の解決方法があれば教えてくただけると幸いです。。。

6
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6