Rocket.chat: Can't install on Ubuntu 14.04 : fiber module not found

Created on 6 Nov 2015  路  20Comments  路  Source: RocketChat/Rocket.Chat

I try to install rocket on a fresh Ubuntu, following this guide :
https://github.com/RocketChat/Rocket.Chat/wiki/Deploy-Rocket.Chat-without-docker

At the step "npm install" it fail with the following error :

npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
npm WARN package.json [email protected] No license field.
/
> [email protected] install /var/www/rocket.chat/bundle/programs/server/node_modules/fibers
> node ./build.js

module.js:338
    throw err;
          ^
Error: Cannot find module '/var/www/rocket.chat/bundle/programs/server/node_modules/fibers/build.js'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
npm ERR! Linux 3.2.0-4-amd64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node ./build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node ./build.js'.
npm ERR! This is most likely a problem with the fibers package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./build.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls fibers
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /var/www/rocket.chat/bundle/programs/server/npm-debug.log
support

Most helpful comment

rocketchat is a joke, as is the framework its built upon. i've seen more stable development in copy-and-paste blockchain projects...and that ain't sayin' much.

All 20 comments

You need to install the 'build-essential' package.

sudo apt-get install build-essential

Thank you, but build-essential is already installed.

$ sudo aptitude install build-essential
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

It seems that meteor requires Node 0.10.40

nave usemain 0.10.40 # instead of 0.12.7

No, it's not nodejs version or something! it's the symlink in the ubuntu!

Can you try running node and see if opens the nodejs console?

Unfortunately, it doesn't succeed :

root [ rocket ] @ /var/www/rocket.chat/bundle/programs/server  # node --version
v0.10.40

root [ rocket ] @ /var/www/rocket.chat/bundle/programs/server  # npm install
npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
\
> [email protected] install /var/www/rocket.chat/bundle/programs/server/node_modules/fibers
> node ./build.js


module.js:340
    throw err;
          ^
Error: Cannot find module '/var/www/rocket.chat/bundle/programs/server/node_modules/fibers/build.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:935:3

npm ERR! [email protected] install: `node ./build.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the fibers package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./build.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls fibers
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.2.0-4-amd64
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! cwd /var/www/rocket.chat/bundle/programs/server
npm ERR! node -v v0.10.40
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

I notice something strange, why my node_modules directory is owned by my common user ?

root [ rocket ] @ /var/www/rocket.chat/bundle/programs/server  # ll
total 1,1M
drwxr-x---  5 root   root   4,0K 06/11/2015 17:54 app/
drwxr-x---  4 root   root   4,0K 06/11/2015 17:54 assets/
drwxr-x--- 20 my_user my_user 4,0K 10/11/2015 12:36 node_modules/
drwxr-x--- 30 root   root   4,0K 06/11/2015 17:54 npm/
drwxr-x---  2 root   root    20K 06/11/2015 17:54 packages/
-r--r-----  1 root   root    10K 06/11/2015 17:54 boot.js
-r--r-----  1 root   root    192 06/11/2015 17:54 boot-utils.js
-r--r-----  1 root   root    110 06/11/2015 17:54 config.json
-r--r-----  1 root   root   3,4K 06/11/2015 17:54 mini-files.js
-r--r-----  1 root   root   2,9K 06/11/2015 17:54 npm-shrinkwrap.json
-r--r-----  1 root   root    469 06/11/2015 17:54 package.json
-r--r-----  1 root   root   1,1M 06/11/2015 17:54 program.json
-r--r-----  1 root   root    10K 06/11/2015 17:54 shell-server.js

(I try to delete it and when I launch npm install, it is re-created with the same ownership)

@capensisma sorry I didn't seen your answer before make mine.

node command works fine, it open a node console, node --version return the correct version of node (chosen with nave)

I retry today, on a fresh Ubuntu 14.04, no more success.

@VoidAndAny try running chmod -R 777 . in the root of the Rocket.Chat folder. If that throws error try prefixing with sudo.

Hello,
it's ugly and it doesn't solve the problem.
So sad...

I try something ugly too but it works.
I installed fibers globally

npm install [email protected] -g

Then copy directory containing fibers in local node_modules folder :

cp -ar /usr/lib/node_modules/fibers /var/www/rocket.chat/bundle/programs/server/node_modules/

Now npm install don't complain any more.

Why npm install can't install fibers locally (based on rocket.chat package.json file) ?

This is more of a NodeJS and Meteor issue, so I'll close this issue and leave some links for future references:

http://stackoverflow.com/questions/33488456/meteor-up-error-when-deploying-to-digital-ocean-ubuntu-14-04
https://forums.meteor.com/t/meteor-nodejs-0-12/2769

The whole cloud deploy system is broken because of this:
https://github.com/RocketChat/Deploy.to.Cloud/issues/36

@VoidAndAny Thanks, installing fibers globally and moving those files from /lib solved my problem

Glad if it helped, personally I gave up Rocket chat, unstable, difficult (impossible) to upgrade...

Solution that worked for me:

  • add nodejs repository using command: curl -sL https://deb.nodesource.com/setup | sudo bash -
  • install nodejs: sudo apt-get install nodejs
  • .. continue with manual ..

@vills Isn't working for me :(

rocketchat is a joke, as is the framework its built upon. i've seen more stable development in copy-and-paste blockchain projects...and that ain't sayin' much.

@h-town do you even know how to code bro?

You know how many features in RocketChat even Slack doesn't have?

Have ever deployed a RocketChat on prod Server?

do you even know how to code bro?

The critical comments are fair; you're trying to defend the indefensible. The developer deployment instructions are woefully incomplete, the developer install is fragile, many dependencies are left unspecified and mysterious.

These are not the hallmarks of a great developer environment, and "knowing how to code" isn't a relevant prerequisite for trying to imagine what the missing documentation should say, and/or why some completely unexpected error is jamming up what should have been a perfectly smooth process.

If you want kudos for features and to encourage development, then it's perfectly reasonable for those on the sharp end to expect something that can install cleanly and run out of the git setup, no mods, no changes. If you don't, you _will_ get complaints, and they _will_ be justified.

@h-town do you even know how to code bro?
moot point. if i knew how to roll my own feature-rich web-based chat medium i wouldn't be here.

You know how many features in RocketChat even Slack doesn't have?
interesting that you mention slack. i convinced my users to switch from slack to the rocketchat server i stood up and i'm not sure any of them logged in more than once. much to my chagrin we're back on slack, and i'm certain the only reason no one was particularly vocal about their dismissal of rocketchat was out of respect for the countless hours i spent trying to stand it up.

Have ever deployed a RocketChat on prod Server?
after many hours of poking, prodding, twisting, turning, hacking, cracking, and temper tantrums...yes. whereas i don't "code", per se, i have plenty of experience with deploying complex systems from start to finish.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

danpospisil picture danpospisil  路  3Comments

engelgabriel picture engelgabriel  路  3Comments

lunitic picture lunitic  路  3Comments

amayer5125 picture amayer5125  路  3Comments

royalaid picture royalaid  路  3Comments