エラー:モジュール「webpack」が見つかりません


151

私はwebpackを使い始めたばかりですが、複数エントリポイントのサンプルを作成するのに苦労しています。この例のwebpack.config.jsファイルには、次の行が含まれています

 var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin");

エラーで失敗しました

Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin'

探し回って、CommonsChunkPluginを式で使用する他の例を見つけました

var commonsPlugin = new webpack.optimize.CommonsChunkPlugin("common.js");

エラーで失敗する

ReferenceError: webpack is not defined

さらに検索すると、次のような多くの例が見つかりました

var webpack = require('webpack');

そして今私のビルドは失敗します

Error: Cannot find module 'webpack'

どうすればいいのか途方に暮れている。


2
npm install webpack以前に走ったの?
Johannes Ewald

はい。Webpackがインストールされ、他の例に取り組んでいます。問題が発生したのは、複数エントリポイントの例のプラグインを追加しようとしたときでした。
Ed。

Error: Cannot find module 'webpack'ノードエラーです。したがって、これはwebpack自体(影響)とは関係ありません。ノードが間違ったフォルダ
Johannes Ewald

6
なるほど、npm install -g webpackうまくいきませんでした。しかし、それはそうnpm install webpackです-あなたが呼び出すときにあなたがアプリのルートフォルダにいることnpm install webpackを確認してから、モジュールがnode_modulesフォルダに存在するかどうかを確認してください。また、Linuxシステムでwebpackfsevents(オプションの)モジュールが必要と思われます-私はWindowsを使用しているため、よくfsevents
わかり

3
上記で述べたように、グローバルインストールは私にとっても機能しなかったのでwebpack、を使用npm install webpackせずにローカルアプリフォルダーにインストールしてみてください-g
AndreiDMS

回答:


272

グローバルにインストールされたパッケージをプロジェクトにリンクする

npm link webpack

7
これが最も簡単な答えです。
トーマスW

1
この設定はどのファイルに影響しますか?jsonファイルに変更はありませんでした。詳しく説明してもらえますか?
Royi Namir

とにかくリンクを解除するようには見えない。この後にwebpack-dev-serverがクラッシュしました。
プランクトン2017年

1か月間機能しなくなった後、私はあきらめてAngularjsを使い続けることに非常に近かった。これでようやく動作しました。ありがとうございました。
NestorArturo

私はwebpackをインストールしていますが、パラメーターshowを使わずにwebpackを実行します。このタイプのメッセージ:インストールするもの(webpack-cli / web-command)
Ng Sharma

59

Windowsでの作業中に、webpackをローカルにインストールして問題を解決しました

したがって、コマンドプロンプトで、webpackを実行するディレクトリに移動し、webpackをローカルに(-gなしで)インストールしてお楽しみください...


10
「ローカル」でのインストール方法については言及していません
でした

ローカルはnpm install webpackで、前述のように-gを使用しません。これは私の場合にはうまくいきました。
Honza P.

24

Windowsの一般的な問題のようです。これは私のためにそれを修正しました:

NodejsはWindowsにインストールされたモジュールを見つけることができませんか?

「呼び出された環境変数を追加NODE_PATHして%USERPROFILE%\Application Data\npm\node_modules(Windows XP)、%AppData%\npm\node_modules(Windows 7)、またはnpmがWindowsフレーバーにモジュールをインストールする場所に設定します。これを一度に行うには、これをシステム変数として追加します。 [システムのプロパティ]ダイアログの[詳細設定]タブ(control.exe sysdm.cpl、System、3を実行)。

の値内で別の環境変数を実際に使用することはできないことに注意してくださいNODE_PATH。つまり、上記の文字列をコピーして貼り付けるだけでなく、実際に解決されたパスに設定します。C:\Users\MYNAME\AppData\Roaming\npm\node_modules


1
Windows 10では動作しません。NODE_PATH`値にnode_modulesフォルダーがありませんが、C:\Users\MYNAME\AppData\Roaming\npm`. I tried to set 役に立ちC:\Program Files (x86)\nodejs\node_modulesませんでした
VB_

3
私にとってWindows 10で問題なく動作しますsetx NODE_PATH %AppData%\npm\node_modules。変数が使用可能になるcmd前、NODE_PATHまたは実行する前に、を再起動する必要がある場合がありますset NODE_PATH=%AppData%\npm\node_modules
Nux

23

再インストールして同じ問題を解決し、これらのコマンドを実行しました

rm -Rf node_modules
rm -f package-lock.json
npm install

rm特には常に危険なコマンドです。-f実行する前に注意してください!!!!!


2
パッケージlock.jsonが犯人である
セルジオS.フィリオ

17

ターミナルで以下のコマンドを実行します。

npm install --save-dev webpack

npm install --save-dev webpack-dev-server


9

OS Xでこの問題が発生していましたが、グローバルにインストールされたものwebpackとローカルにインストールされたもののバージョンが一致していないことが原因のようwebpack-dev-serverです。両方を最新バージョンに更新すると、問題が解決しました。


それは私にとってもうまくいったので、この問題がある場合は、さまざまなシナリオで検討する価値があると思います。
JL Peyret

2

ノードパッケージをインストールしても、パッケージが未定義であるというメッセージが引き続き表示される場合は、バイナリへのPATHリンクに問題がある可能性があります。バイナリと実行可能ファイルを明確にするために、基本的に同じことを実行します。つまり、パッケージまたはアプリケーションを実行します。ei webpack ...ノードパッケージwebpackを実行します。

WindowsとLinuxの両方に、グローバルバイナリフォルダーがあります。WindowsではC:// Windows / System32のようなもので、Linuxではusr / binです。ターミナル/コマンドプロンプトを開くと、そのプロファイルによってPATH変数がグローバルbinフォルダーにリンクされるため、そこからパッケージ/アプリケーションを実行できます。

私の推測では、webpackをグローバルにインストールすると、実行可能ファイルがグローバルバイナリフォルダーに正常に配置されなかった可能性があります。実行ファイルがないと、エラーメッセージが表示されます。これは別の問題である可能性もありますが、これを読んでいる場合、グローバルにwebpackを実行しても機能しないと言っても安全です。

この問題に対する私の解決策は、webpackをグローバルに実行せずに、PATHをnode_moduleバイナリフォルダー(/node_modules/.bin)にリンクすることです。

WINDOWS: node_modules / .binをPATHに追加します。 これは、WindowsでPATH変数を変更する方法に関するチュートリアルです。

Linux: プロジェクトのルートに移動して、これを実行します...

export PATH:$PWD/node_modules/.bin:$PATH 

Linuxでは、ターミナルを開くたびにこのコマンドを実行する必要があります。 このリンクは、PATH変数を永続的に変更する方法を示しています。


1

Windowsで、マシンの管理者権限がない場合(つまり、ローカル管理者でない場合)にこの問題が発生することを確認しました。

他の誰かが示唆したように、解決策は-gヒントを使用しないでローカルにインストールすることです。


1

npmコマンドプロンプトと-cd solutionフォルダーを開き、NPM cmd prommtでnpm link webpackを実行して、再ビルドします。


1

これを試すことができます。

npm install --only=dev

わたしにはできる。


0

上記の提案は私にとってはうまくいきませんでした(NODE_PATH変数を含む)。ローカルフォルダーからグローバルAppDataへの「node_modules」のシンボリックリンクを作成し(例:以下)、それは魅力のように機能しました。

C:\Users\mmoinuddin\AppData\Roaming\npm>mklink /D node_modules c:\essportreact\day1\node_modules
symbolic link created for node_modules <<===>> c:\essportreact\day1\node_modules
C:\essportreact\day1>webpack
Hash: 2a82a67f90f9aa05ab4a
Version: webpack 1.15.0

0

Atom IDEターミナルを使用しても、依存関係をローカルにインストールしなかったことが判明しました(おそらくバグか私だけ)。git bashを外部にインストールし、npmコマンドを再度実行するとうまくいきました


0

私にとっては、それは間違ったエラーフィードバックです。

に設定エラーがありましたwebpack.config.js

ファイルを削除し、最初からやり直して問題を解決しました


0

非常にシンプルな.NET Core 2.0アプリケーションをVS 2017でビルドするのに多くの問題がありました。これはAppVeyorからのエラーですが、基本的にローカルで同じです(一部のパスはセキュリティのために省略されています)。

初回実行のWebpackビルドを実行しています...

module.js:327 throw err;

EXEC:エラー:モジュール '........ / node_modules / webpack / bin / webpack.js'が見つかりません

Function.Module._resolveFilename(module.js:325:15)で

Function.Module._load(module.js:276:25)で

Function.Module.runMain(module.js:441:10)で

起動時(node.js:140:18)

node.js:1043:3で

csproj(25,5):エラーMSB3073:コマンド「node node_modules / webpack / bin / webpack.js --config webpack.config.vendor.js」はコード1で終了しました

ビルドに失敗しました。

私はこの質問と回答に遭遇し、ローカルインスタンスにも同じ警告サインが{Project Root} -> Dependencies -> npmフォルダーに表示されていることに気付きました。右クリックして「パッケージの復元」を押すと、すべてが正しく読み込まれ、正常にビルドできました。


0

npm link webpackがうまくいきました。

私のwebpack構成: "webpack": "^ 4.41.2"、 "webpack-dev-server": "^ 3.9.0"、 "webpack-cli": "^ 3.3.10"


0

グローバルにwebpackとCLIの両方をインストールするとうまくいきました。

npm i -g webpack webpack-cli
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.