angular-websocket icon indicating copy to clipboard operation
angular-websocket copied to clipboard

Error: Cannot find module 'bufferutil' during browserify

Open carn1x opened this issue 8 years ago • 10 comments

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)

carn1x avatar Oct 10 '16 12:10 carn1x

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?

carn1x avatar Oct 10 '16 12:10 carn1x

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 :-(

Remco75 avatar Nov 18 '16 16:11 Remco75

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?

chaddjohnson avatar Feb 28 '17 23:02 chaddjohnson

This was handled in https://github.com/AngularClass/angular-websocket/commit/fdfea1f3e82bd29f3ec7f0b3620491fa75e5eb1c

Ocramius avatar Apr 19 '17 15:04 Ocramius

Don't you need this in production? (was added to devDependencies)

odedniv avatar Jul 30 '17 07:07 odedniv

any insights here? i believe @odedniv is right..

danielpiedra avatar Sep 04 '17 11:09 danielpiedra

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.

krobing avatar Sep 06 '17 17:09 krobing

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

belfz avatar Sep 07 '17 13:09 belfz

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

joeyrobert avatar Oct 12 '17 04:10 joeyrobert

If your client is in browser you can use my fork to resolve this issue. npm i jacek-jaskolski/angular-websocket --save

jacek-jaskolski avatar Nov 08 '17 07:11 jacek-jaskolski