node.js、エラー:モジュール「express」が見つかりません


125

私はNode.jsを初めて使用します。最初のWebアプリケーションを構築するためにExpressを学習してみてください。私は最初のサンプルコードに行き詰まり、実行するにはいくつかの助けが必要です。この質問を投稿する前に、スタックオーバーフローを検索しましたが、同様の質問がいくつか見つかりましたが、まだ修正できませんでした。

エラー:モジュール 'express'が見つかりません

Mac OS 10.8.2を使用しています。Node.jsを使用してインストールしましたnvm

node.js:ノードへの0.8.20パス:/Users/feelexit/nvm/v0.8.20/bin/node表現するパス:/ Users / feelexit / nvm / node_modules / express

これが私のサンプルコードです:このファイルは次の場所にあります:

/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js

var express = require('express');

var app = express();

app.get('/', function(req, res){

    res.send('welcome to express');
});

app.listen(3000);

このコマンドを実行しようとすると node index.js

次のエラーメッセージが表示されます。修正してください。

ありがとうございました。

Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js:1:81)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
feelexits-Mac:node_modules feelexit$ 

chovyの質問に回答するための更新:

feelexits-Mac:~ feelexit$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Darwin 12.2.0
npm ERR! command "/Users/feelexit/nvm/v0.8.20/bin/node" "/Users/feelexit/nvm/v0.8.20/bin/npm" "install"
npm ERR! cwd /Users/feelexit
npm ERR! node -v v0.8.20
npm ERR! npm -v 1.2.11
npm ERR! path /Users/feelexit/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/feelexit/npm-debug.log
npm ERR! not ok code 0


30
入力しましたかnpm install
チョビー

1
エクスプレスライブラリが「node_modules」フォルダにあることを確認しますか?また、index.jsファイルを1つのディレクトリの「/ Users / feelexit / WebstormProjects / learnnode /」に移動して、node_modulesフォルダーをそのままにしておくこともできます。
デフォルトの

1
package.jsonファイルを投稿してください。これは問題のデバッグに役立ちます。
Akhil Raina 2013

@chovy、私はnpm install expressを使用してExpressをインストールします。「npm install」だけは何をしますか?
qinking126 2013

回答:


157

それは言う

 Cannot find module 'express'

Expressがインストールされていますか?インストールされていない場合は、これを実行してください。

 npm install express

そして、もう一度プログラムを実行します。


1
これは私の場合の問題を修正しません。npm install expressこのエラーを示していますnpm ERR! Error: UNKNOWN, symlink '../express/bin/express'。より深い問題のようです。
Sliq 2013年

npmのディレクトリ権限を修正していない場合は、sudoを使用してください。いずれの場合も、「sudo npm install」がより良いオプションです。
Gaurav Gupta

symlinkエラーは、グローバルにインストールした場合や、ええと、symlinkが壊れた場合によく発生します。npm linkそれぞれのリンクを再作成してみてください...
フランクノッケ2016年

@Sliq私はあなたの解決策を試しましたが、私の問題を解決できません私を助けてくれますか?
VjyV 2016年

「プログラムをもう一度実行する」をお見逃しなく。私の場合、でプロセスを再起動する必要がありましたprocess manager。それ自体は再起動しませんでした。
Tadej

42

端末で表現した後、

 npm install

すべての依存関係をインストールします。

次に、node appを実行してサーバーを実行できます。


7
これには、パッケージリストファイル(.jsonなど)が必要であることを指摘する必要があります。また、常にそうであるとは限りません。
ポグリンディス2013年

@VjyVは、.jsノードファイルと同じディレクトリにあります。ただし、必要な依存関係をインストールできるように、ディレクトリにはpackage.jsonファイルが必要です。
Saurabh Rana 2016

34

expressモジュールがインストールされているかどうかを確認します。そうでない場合は、次のコマンドを使用します。

npm install express

node_modulesディレクトリが別の場所にある場合は、NODE_PATH環境変数を設定します。

set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%

12
これは正しい回答CTRL+C / CTRL+V npm installです。これらの回答を投稿するすべての人にとって、最初にインストールされているかどうかを確認せずに何かを実行しようとする人は本当にいると思いますか?マジで...
クラウディオ・ホランダ

3
細かい詳細を追加するだけです。Node.jsインストールフォルダーやAppDataのnpm-folderではなく、アプリケーションのディレクトリでinstall expressコマンドを実行する必要があります。それは私が犯した間違いであり、それはある種のSDKアドオンだと思ったからです。
Alex

28

 npm install --save express   
これは私にとってはうまくいきました、express.jsインストールをもう一度実行してください


11

アプリディレクトリ内からnpmをインストールすると、必要なすべてがインストールされるため、問題が修正されます


5

ここで古いスレッドを掘り下げますが、これと同じエラーが発生したため、NodeAppが存在し実行されているディレクトリに移動して解決しました npm install -d


なぜ、どのように重要なのかはわかりませんが、依存関係にインストールされます:docs.npmjs.com/cli/install
Guy Lowe

1
@GuyLowe -dはnpmのデバッグで、-Ddevの依存関係です。
John Pavek

4

Node_PATHを設定しない限り、他の唯一のオプションは、Expressをappディレクトリにインストールすることですnpm install express --save。Expressは既にインストールされているnode可能性がありますが、何らかの理由で見つかりません


これは私にとってはうまくいきました、あなたの.jsファイルと同じディレクトリでinstallコマンドをよりよく実行してください。また、「npm init」コマンドを実行して、package.jsonファイルを作成し、問題を回避することもできます。
emarshah

3

プロジェクトとは別のディレクトリにExpressモジュールがあります。require()ローカルで試行しているため、おそらくそれが問題です。/ Users / feelexit / nvm / node_modules / expressから/ Users / feelexit / WebstormProjects / learnnode / node_modules / expressに Expressモジュールを移動してみてください。この情報により、node_moduleファイル構造の詳細がわかります。


2

あなたのメインファイルが/Users/feelexit/WebstormProjects/learnnode/node_modules/index.jsそこにある場合、パスがで始まらないときに/Users/feelexit/WebstormProjects/learnnode/node_modules/node_modulesノードが常にモジュール./node_modules(とその内部フォルダ)を探すので、エクスプレスはに位置する必要があります./または/詳細はこちら

あなたはあなたのメインファイルをモジュールフォルダに置いていないと思います


2

このシナリオでは、プログラムを実行するそれぞれのフォルダーのcmdプロンプトを使用して、npm install expressコマンドを実行します。例F:\ nodeSampleで高速モジュールプログラムserver.jsを実行したいと思います。その特定のフォルダで「npm install express」を実行してから、server.jsを実行します


1

まれに、npmキャッシュが破損する場合があります。私にとって、うまくいったのは:

npm cache clean --force

通常、パッケージマネージャは破損を検出し、それ自体で再フェッチするため、これは通常必要ありません。しかし、私の場合、Windows 10が数回クラッシュし、フェッチ操作中にこれが発生した可能性があります。それが誰かを助けることを願っています!

詳細:https : //docs.npmjs.com/cli/cache


1

同様の問題に遭遇し、結局、Herokuサーバーをめちゃくちゃにしていた古い依存関係の問題でした。

私のプロジェクトのフォルダにいる間、私は実行しました:

npm uninstall
npm install

それが役に立てば幸い


0

npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'

これは、npmが動作していたときに、アクセス許可が欠落しているか、リンクされていないファイルが原因で発生します。

つまりnpm、このユーザーとして実行すると、ファイル(この場合はpackage.json)から読み取り/書き込みを行うための十分な権限がありません。

sudoコマンド全体の前に追加してみてください-それは解決するはずです。

$ sudo npm install -g express
$ Password:*******

パスワードはMacの管理者パスワードになります。

-gフラグは、このモジュール(エクスプレス)をノードのグローバルコンテキストにインストールします。つまり、ノードはexpress、使用中のモジュールへのフルパスを提供する必要なく、jsファイル内からモジュールを認識します。

お役に立てれば!!


0

私も同じ問題を抱えていました。私の問題は、Expressをインストールする前にコマンドラインでNode.jsプロジェクトディレクトリに変更する必要があることでした。

cd /Users/feelexit/WebstormProjects/learnnode/node_modules/

0

これはコルトスティールのWeb開発コースのコースワークだと思います...私もそのエラーに終わった理由と同じ答えを探していました。作業中の新しいフォルダーに...それが私にとってうまくいきました。


0

npm install express body-parser cookie-parser multer --saveこの問題を解決するには、ソースコードのnodejsファイルと同じディレクトリでコマンドを実行します。P / s:詳細については、コマンド実行後にディレクトリを確認してください!


0
D:\learn\Node.js\node app.js
module.js:549
    throw err;
    ^

Error: Cannot find module 'body-parser'
    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)

バージョンがpackage.jsonと一致しない場合があるpackage.jsonをチェックして問題を修正し、次のコマンドを使用します。npm install body-parser@1.13.2これで解決しました。


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