C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot>node bot.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'mongoose'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at Object.<anonymous> (C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot\db.j
s:1:78)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Module.require (module.js:357:17)
Npm installを使用して既にインストールし、再インストールしようとしましたが、それは何のアイデアもうまくいきませんでしたか?
このコマンドを使用してインストールしようとしています:
npm install mongoose
-gスイッチを使用しないでください。
ところで:管理者モードでコマンドプロンプトを実行しました。
http://prazjain.wordpress.com/2012/04/24/node-js-error-error-cannot-find-module-xyz/
次の2つのいずれかを実行して実行できます。
1)mongooseをグローバルにインストール以下の手順で:-
a)npm install mongoose -g
b)bot.jsがあるアプリディレクトリに移動して実行します
npm link mongoose
説明:-npmを介してパッケージをグローバルにインストールすると、グローバルnode_moduleフォルダーにダウンロードされます。私(Macユーザー)の場合、/ usr/local/lib/node_modules/mongooseの下にあります。これをmodule.jsを実行しようとしているディレクトリにリンクします。
2)別のアプローチは、mongooseをグローバルではなくローカルにインストールすることです via
npm install mongoose
これらのいずれかに従うと、「bot.js」ディレクトリの下にnode_modules-> mongooseフォルダーが表示されます。これは、mongooseが正常にインストールされたことを意味します。
ここで、ノードbot.jsを実行すると動作します。
--save
オプションを使用してインストールします。
npm install mongoose --save
これにより、Herokuがアプリのビルドに使用するpackage.json
にマングースが追加されます。
コマンドラインで呼び出す必要があります
npm install mongoose
このコマンドを呼び出すことを忘れないでくださいプロジェクトのルートパスから
npm install mongoose
それは動作し、すべてが大丈夫なら、あなたはあなたの端末でフォローするでしょう
[email protected] node_modules/mongoose
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected])
Macでも同じ問題が発生し、スポットライトで検索したところ、mongooseが/ usr/local/node_modulesにインストールされていることがわかりました(「npm install mongoose」を実行したとき)。 mongooseフォルダーを〜(home)node_modulesに移動すると、npmが実際にインストールされるようになり、問題が修正されました。
すでにmongooseをグローバルにインストールしている場合(npm install -g mongoose)、実行します
% npm link mongoose
プロジェクトディレクトリ内。これは私のために働いた。
npm installはpwd(現在の作業ディレクトリ)に「node_modules」を作成します
アプリケーションが成長するにつれて、必要なモジュールの数が増え、より良いアプローチはpackage.jsonを維持することです(参照: https://stackoverflow.com/a/14226133/832147 )それぞれをインストールする代わりに「npm install」。
Herokuなどのプラットフォームにアプリをデプロイするときの拡張機能として、プロジェクトの巨大なnode_modulesディレクトリを無視(git ignore)できます。 Herokuはpackage.jsonを読み取ることで依存モジュールをインストールします
このアプローチにより、ノードベースのプロジェクトごとに同じ必要なノードモジュールを作成できますが、プロジェクトごとに1回だけ「npm install」コマンドを発行する必要があるので問題ありません
bot.jsを格納するディレクトリに、mongooseフォルダーを含むnode_modulesフォルダーがありますか? mongodbサーバーは実行されていますか?
また、プロジェクトのルートディレクトリに移動し、ノード(引数なし、REPLを開くため)を呼び出し、そこにmongooseを要求することでテストすることもできます。
コマンドラインでプロジェクトフォルダーを開き、以下のコマンドを実行して、mongoose依存関係をpackage.jsonファイルに追加できるようにします。このようなエラーが再び発生することはないと確信しています。
$ Sudo npm install --save mongoose
doc/blog から
一般に、経験則は次のとおりです。
Require( 'whatever')を使用してプログラムで使用するものをインストールする場合は、プロジェクトのルートでローカルにインストールします。
シェル、コマンドラインなどで使用するものをインストールする場合は、グローバルにインストールして、バイナリがPATH環境変数になるようにします。
MongooseがサポートしていないWindowsオペレーティングシステムを使用しています。このエラーメッセージから明らかです。
C:\>npm install mongoose
npm http GET https://registry.npmjs.org/mongoose/2.5.10
npm http 304 https://registry.npmjs.org/mongoose/2.5.10
npm http GET https://registry.npmjs.org/hooks/0.2.0
npm http GET https://registry.npmjs.org/mongodb/0.9.9-4
npm http 304 https://registry.npmjs.org/mongodb/0.9.9-4
npm http 304 https://registry.npmjs.org/hooks/0.2.0
npm WARN package.json [email protected] No README.md file found!
npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your operating system or architecture: mongo
[email protected]
npm ERR! notsup Valid OS: linux,darwin,freebsd
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: win32
npm ERR! notsup Actual Arch: x64
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "mongoose"
npm ERR! cwd C:\
npm ERR! node -v v0.8.18
npm ERR! npm -v 1.2.2
npm ERR! code EBADPLATFORM
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\npm-debug.log
npm ERR! not ok code 0