[Node.js] socket.io ではなくて socketio を npm install して Cannot find module 'socket.io' エラーでた
socket.io を使いたくて npm install socketio —save でインストール後に require(‘socket.io’) したら Error: Cannot find module ‘socket.io’ が発生して「なんでだろう…?」って数十分ぐらい悩みました。
$ node index.js
module.js:327
throw err;
^
Error: Cannot find module 'socket.io'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/Users/username/works/sample/index.js:9:16)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
結果としては socketio が使うべきモジュールではなくて正しくは socket.io というオチでした。package.json を下記のように修正して npm install し直したら無事に require(‘socket.io’) できました。
diff --git a/package.json b/package.json
index 30cdfac..84192a7 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,6 @@
- "socketio": "^1.0.0"
+ "socket.io": "^1.5.1"
}
}
socketio という紛らわしいパッケージ名はつけないで頂きたいですね。