Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Building a MEAN Application Setting Up MongoDB Debugging Express Application Refresher

Can't get iron-node to install on Ubuntu 16.04

Can someone help me get iron-node installed on Ubuntu 16.04?

After running:

sudo npm install iron-node -g

I get this error message:

/usr/bin/iron-node -> /usr/lib/node_modules/iron-node/bin/run.js

electron@1.7.6 postinstall /usr/lib/node_modules/iron-node/node_modules/electron node install.js

/usr/lib/node_modules/iron-node/node_modules/electron/install.js:48 throw err ^

Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/iron-node/node_modules/electron/dist' npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! electron@1.7.6 postinstall: node install.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the electron@1.7.6 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /home/pepe/.npm/_logs/2017-09-22T22_54_21_950Z-debug.log

I installed electron trying to solve the problem, but it didn't help.

In trying to figure this out I noticed that the directory '/usr/lib/node_modules/iron-node/' was not created.

Thank you for any/all help.


1 Answer

Actually - found my own solution here:


================================================= Option 2: Change npm's default directory to another directory

There are times when you do not want to change ownership of the default directory that npm uses (i.e. /usr) as this could cause some problems, for example if you are sharing the system with other users.

Instead, you can configure npm to use a different directory altogether. In our case, this will be a hidden directory in our home folder.

Make a directory for global installations: mkdir ~/.npm-global

Configure npm to use the new directory path: npm config set prefix '~/.npm-global'

Open or create a ~/.profile file and add this line: export PATH=~/.npm-global/bin:$PATH

Back on the command line, update your system variables: source ~/.profile

Test: Download a package globally without using sudo.

npm install -g iron-node


It worked. Iron-node finally installed without errors.

It apparently was a permissions issue. The error messaging doesn't always make the problem obvious.

I hope this helps someone else that might encounter this problem.