web-dev-qa-db-ja.com

nodejs module.js:340エラー:モジュールが見つかりません

NodejsをC:\ Program Files(x86)\ nodejsにインストールしました

次に、.jsファイルを作成し、コンソールに「hello world」を出力するためにデスクトップに保存しました。

console.log('hello world');

コマンドプロンプトからファイルを実行しようとしたとき:

C:\Users\Laura>cd desktop
C:\Users\Laura\Desktop>node nodeTest.js

私は得る:

module.js:340
throw err;
      ^
Error: Cannot find module 'C:\Users\Laura\Desktop\testNode.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3

私は他の多くの関連する質問を読みましたが、そのうちのいくつかはインストールを実行することを推奨していました。

C:\Users\Laura>npm install -g express

しかし、同じエラーメッセージが表示されることはありません。

41
Laura Martinez

EDIT:この答えは時代遅れです。 YarnやNPM 5のロックファイルなどを使用すると、Herokuなどのプラットフォームで依存関係が正しいことを簡単に確認できるようになりました。

node_modulesがローカルで何らかの形で変更されることに関連する同様の問題がありましたが、変更がHerokuに反映されず、アプリがクラッシュしました。これが問題であれば、比較的簡単に修正できます。

# Remove node_modules
rm -fr node_modules

# Reinstall packages
npm i

# Commit changes
git add node_modules
git commit -m 'Fix node_modules dependencies.'
git Push heroku master

同様の問題を抱えている他の人に役立つことを願っています。

35
Dana Woodman

私は誰かがしばらく前に書いたサーバーで同じ問題を抱えていました。スクリプトに必要なものがいくつかインストールされていなかったことがわかりました。

これは question 役に立ちました。

私は使用できるようになりました:

npm install yourMissingDependency 

インスタンスでは、パスを持たないファイルである場合があります。ノードスクリプトを実行しているのと同じフォルダーにそのファイルを配置してみてください。

19
misterkeeter

問題はNODE_PATH環境変数だと思います。私は同じ問題を抱えていましたが、一度発行したら(Windowsで)

set NODE_PATH=C:\Users\MyUser\node_modules

その後、すべてがうまくいきました。

乾杯、

5
Jacek

コマンドプロンプトを再起動し、パス変数(タイプ:パス)を確認します。出力からnodejsインストールディレクトリが見つからない場合は、パス変数に追加し、cdmを再起動してください...

3
OptimusC

ほぼ同じ問題があり、JSファイルが実際に呼び出し元のフォルダーにないことがわかり、1つのフォルダーが深くなりすぎていました。 1つのディレクトリに移動して、ファイルを実行し、それを認識しました。

別の方法として、1つのフォルダーを上に移動しても同じエラーが発生するが、モジュールが異なる場合、親フォルダーの同じファイルを取得して、以前に実行しようとしていたサブフォルダーに移動します。

TL; DR-ファイルまたはそのモジュールは、あなたが考えているフォルダーにありません。 1レベル上に移動します

3

こんにちはPhonegap/Cordova/Ionic開発者の皆さん、

  I solved this issue by doing the following

  1. C: drive -> Users -> "username" eg. john -> AppData -> Roaming

  2. Inside the "Roaming" folder you need to delete both "npm" and "npm-cache" 
       folder.

  3. Now build your project, and it should work

ハッピーコーディング!!!

2
Ariven Nadar

これをNodeコマンドライン環境に入力してみてください。

.load c:/users/laura/desktop/nodeTest.js

あなたがやろうとしていることのために動作するはずです。

ファイルを直接呼び出す場合は、Nodeインストールが存在するルートディレクトリにファイルを配置する必要があります。

2
shmuli

必要がある:

  • Hide extensions for known file typesのチェックマークをWindowsエクスプローラーのフォルダーオプションから削除する
  • ファイルはtestNode.js.txtとして表示されます
  • ファイルがJSファイルとして解決されるように、末尾の.txtを削除します

それで終わりです。

1
Basim Hennawi

私は同じ問題に直面しました。 testNode.jsファイル(テストコードを含む)をコピーし、nodejsディレクトリのルートに手動で貼り付けました。このコマンドC:\Program Files (x86)\nodejs>node testnode.js Bingoを試しました!このメッセージを受け取りました。

enter image description here

次に、このURLをブラウザーに入力し、「Hello World」というメッセージを受け取りました。これが誰かを助けることを願っています。

1
mbkh10

npm install --productionを試してから、npm startを試してください。

0
user1306285

私は同じ問題を抱えていましたが、最後に同じプロジェクトフォルダーのNode_modulesフォルダーをコピーしてみましたが、うまくいきました。

0
George511

私は同じ問題を抱えていたので、server.jsがある適切なディレクトリでnode serverコマンドを打っていなかったことがわかりました。

お役に立てれば。

0
Ricardo Fornes

私もこの問題を受け取りましたが、これは実行中に言及した間違ったパスによるものでした。ファイルパスを確認し、ディレクトリ名の間にスペースがないことも確認してください。

0

この問題の簡単な方法

npm link e
0
trquoccuong
  1. Node.jsコマンドプロンプトでnpm startを試してください。
  2. メッセージの最後を見てください-それはあなたに「追加ログ詳細...」でログファイルのパスを与えますc:\users\MyUser\npm-debug.logのようなもの
  3. このファイルをメモ帳で開き、Node.exeの実際のアドレスを見つけます:C:\\Program Files\\nodejs\\\\node.exeのようなもの
  4. このパスにcdしてみてください
  5. node.exe + <full path to your server file.js>を呼び出します

    Server is listening on port 1337 !
    
0
Anatoly

私は次のコマンドを実行し、それは私のために機能します。

PM> npm install ee-first [email protected] node_modules\ee-first
0
user5245285