7

Socket.io モジュールで Nodejs を実行しようとしています。Nodejs の最新バージョンをインストールし、コマンド npm install socket.io を使用して管理者として開いたコマンド プロンプトから socket.io をインストールしました (私は Windows 7 を使用しています)。インストールは問題なく完了したように見えますが、次のテスト プログラムを実行してみます。

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

次のエラーが表示されます。

module.js:340
    throw err;
Error: Cannot find module 'socket.io'
    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> (C:\xampp\htdocks\HTML5Game\impact\app.js:1:72)
    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:487:10)

私の検索では、依存関係の問題に関するいくつかのことと、socket.io と Nodejs のバージョンとの間の非互換性に関するいくつかの提案が見つかりましたが、どちらも古いバージョンの socket.io と Node Thanks について話していました。

4

7 に答える 7

27
cd app
rm -rf node_modules
npm cache clean
npm install

説明

cd app

アプリのディレクトリに移動します

rm -rf node_modules

現在インストールされているモジュールを削除する

npm cache clean

npm キャッシュを削除します (これが原因でいくつかのエラーが発生します)。

npm install

にリストされているモジュールをインストールしますpackage.json。がない場合は、package.jsonこのような特定のモジュールをインストールできます

npm install <module_name>

npm install socket.io

あなたの場合、 a が何であるかわからない場合は、 nodejs の作業を続ける前に、ここpackage.jsonでそれを読んでください。

于 2012-06-29T18:02:35.763 に答える
5

この問題を次の方法で回避する必要がありました。

1)以下のフォルダにテストプログラムを入れます。

c:\program files\nodejs\node_modules

この場合、ソースコードは次のようになります。

var io = require('socket.io').listen(80);

2) socket.io のフルパスを指定します。

c:>dir /x[入力]

次に、次のコマンドを入力して「progra~1」を取得します。

var io = require("c:/progra~1/nodejs/node_modules/socket.io").listen(80);
于 2012-11-07T11:53:52.497 に答える
4

複数のプロジェクトでモジュールを使用する場合、またはプロジェクトディレクトリをクリーンにする場合は、npmコマンドに「-g」パラメータを追加できます。そのようです:

npm install socket.io -g
于 2013-01-03T11:22:36.430 に答える
3

私は同じ問題を抱えていました。必要なのは、node.js をインストールしたフォルダーではなく、ノード サーバー ファイルを開始したフォルダーで "npm install socket.io" を実行することだけです。たとえば、コード ` を含むファイル server.js があります

var io = require('socket.io').listen(
io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
  console.log(data);
});
});

` 同じフォルダで「sudo npm install socket.io」を実行すると、すべてがうまくいくはずです。

于 2012-11-12T09:48:00.250 に答える
1

モジュール 'socket.io' が見つかりません は、ノード モジュールに 'socket.io' モジュールがインストールされていないことを意味します。

次のコマンドを実行するだけです。

npm install socket.io

あなたが実行した場合:

npm install socket.io --save

package.json ファイルが更新されます。

于 2014-10-28T19:27:05.690 に答える
0

私はそれを修正します:

npm install --save socket.io

そして走る!

それが彼らがhttp://socket.io/get-started/chat/で行う方法です

于 2014-05-30T19:54:07.303 に答える