54

私は最初の node.js プロジェクトを進めています。mongodb をインストールし、server.js ファイルを持っています。それを実行しようとすると、このエラーが発生します。

module.js:340
    throw err;
         ^
Error: Cannot find module 'mongodb'
    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)

私はmongodbがインストールされていると確信しています.C#Windowsのバックグラウンドから来たUnixは初めてですが、これはパスが正しく構成されていないと思いますか?

4

10 に答える 10

79

表示されるエラーは、MongoDB の NPM パッケージが正しくインストールされていないことを示しています。

ここでの修正は、NPM をどのように活用する予定かによって異なります。NPM パッケージ マネージャーは、ローカルとグローバルの 2 つの異なる操作モードで動作します。

最初の (そしてデフォルトの) モードは「ローカル」です。

のフォルダに移動すると、server.jsという名前のサブフォルダが表示されnode_modulesます。そのフォルダの下にフォルダがありmongodbます。そのフォルダーが存在しない場合、mongodbモジュールはそのパスにインストールされていません。

これを修正するにはcd、そのフォルダにnpm install mongodb. プロセスが完了すると、node_modules/mongodbフォルダが使用可能になります。

を使用して、MongoDB パッケージをグローバルにインストールすることもできますnpm install -g mongodb。これは、多数の node.js コマンドラインを使用している場合に便利ですが、すべてをデプロイする場合にはあまり役に立ちません。

補足: 進化している標準がありpackage.jsonます。これpackage.jsonは、特定のモジュールのすべての依存関係を含める標準化された方法です。npm updateこれにより、プロジェクト/パッケージのルートでまたはを実行npm installし、すべての依存関係を効果的に「引き出す」ことができます。これにより、展開プロセスと依存関係をインラインに保つプロセスが大幅に簡素化されます。

于 2013-01-09T01:26:38.433 に答える
8

この問題は、次のいずれかの理由で発生した可能性があります。

1) mongodb モジュールをインストールしていません。

2) グローバル コンテキストで mongodb をインストールしましたが、現在のアプリケーションにリンクされていません。

解決

1) アプリケーションの最上位ディレクトリに移動し、 npm install mongodbを実行します。これにより mongodb モジュールがインストールされ、プロジェクトはそれを自動的に検出します。

また

2) npm install mongodb -gを実行して mongo DB モジュールをグローバルにインストールしてから、アプリケーションのトップ ディレクトリに Ttaverse し、コマンドnpm link mongodbコマンドを使用してリンクします。

便利なリンク

http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

https://npmjs.org/doc/link.html

于 2015-08-10T06:28:11.443 に答える
7

実行するには、次の2つのいずれかを実行できます:-

1)以下の手順でmongodb をグローバルにインストールします。

a)npm install mongodb -g

b) module.js が配置されているアプリ ディレクトリに移動し、実行します。

npm link mongodb

説明 :- パッケージを npm 経由でグローバルにインストールすると、パッケージはグローバル node_module フォルダーにダウンロードされます。私(Macユーザー)の場合、/usr/local/lib/node_modules/mongodbの下にあります。これを、module.js を実行しようとしているディレクトリにリンクします。

2)別のアプローチは、mongodb をグローバルではなくローカルにインストールすることです

npm install mongodb

これらのいずれかを実行すると、「module.js」ディレクトリの下に node_modules --> mongodb フォルダーが表示されます。これは、mongodb が正常にインストールされたことを意味します。

于 2016-09-18T14:29:42.950 に答える
0

プロジェクトパス以外を実行しようとしている可能性があります。私は同じ問題に直面し、以下のいくつかの手順に従って解決しました。

1.) コマンド シェル「cd /project path」を使用して、プロジェクト ディレクトリに移動します。

2.) プロジェクトを実行します。

于 2015-11-26T07:34:24.907 に答える