angular-websocket
angular-websocket copied to clipboard
Error: Cannot find module 'bufferutil' during browserify
npm list
:
├─┬ [email protected]
│ └─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
App.js
(function() {
var angular_websocket;
angular_websocket = require('angular-websocket');
}).call(this);
Command browserify app.js -o bundle.js
gives:
Error: Cannot find module 'bufferutil' from '/www/node_modules/angular-websocket/node_modules/ws/lib'
at /usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:46:17
at process (/usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:173:43)
at ondir (/usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:188:17)
at load (/usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:69:43)
at onex (/usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:92:31)
at /usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:22:47
at FSReqWrap.oncomplete (fs.js:82:15)
Fixed with npm install bufferutil utf-8-validate
, and I suspect this issue is probably not within the scope of angular-websockets to fix. Should these actually be dependencies of ws
or does it make sense for these to be dependencies of this project directly?
nope, I think this is somewhere within this module: webpack doesnt work as well. some code has changed so it tries to load to much it seems :-(
I vote for bufferutil
and utf-8-validate
being added as dependencies of angular-websocket
. Is there a reason the author didn't do this?
This was handled in https://github.com/AngularClass/angular-websocket/commit/fdfea1f3e82bd29f3ec7f0b3620491fa75e5eb1c
Don't you need this in production? (was added to devDependencies
)
any insights here? i believe @odedniv is right..
I've not needed to install those dependencies, because anyway when I running the node.js server, it throw an error in socket.io, so what I've done is exclude those dependencies bufferutil
and utf-8-validate
when run browserify on the terminal or as statement so this way -u bufferutil -u utf-8-validate
.
I'm facing similar problem (with webpack):
WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /Users/marcin/projects/front-end/node_modules/ws/lib
@ ./~/ws/lib/Validation.js 12:16-41
WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /Users/marcin/projects/front-end/node_modules/ws/lib
@ ./~/ws/lib/BufferUtil.js 12:15-36
ERROR in ./~/ws/lib/WebSocketServer.js
Module not found: Error: Cannot resolve module 'tls' in /Users/marcin/projects/front-end/node_modules/ws/lib
@ ./~/ws/lib/WebSocketServer.js 15:10-24
ERROR in ./~/options/lib/options.js
Module not found: Error: Cannot resolve module 'fs' in /Users/marcin/projects/front-end/node_modules/options/lib
@ ./~/options/lib/options.js 6:9-22
Drive by comment, I came across this same error when including ws
in the client side. It's actually not needed on the client side and browsers should use the native WebSocket
constructor. See this issue for more information: https://github.com/websockets/ws/issues/423
If your client is in browser you can use my fork to resolve this issue.
npm i jacek-jaskolski/angular-websocket --save