I installed node and npm using the instructions provided here
I was able to use node successfully. However, as I attempt to install the "Formidable" node module, I get the following error:
$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory
When I do a which npm
I get the following output:
$which npm
/usr/local/bin/npm
I have no clue on what is wrong with npm here - any idea on how I can fix this?
Taking @gertvdijk hint, I uninstalled NPM using the script:
(which can be found here)
Even after performing the above, I got another error:
So, I ran
hash -r
in the terminal (as per the instructions found under NPM Won't Run After Upgrade) and voila - it worked. NPM now works!Ubuntu and some Linux distributions install node's interpreter as
/usr/bin/nodejs
, and not/usr/local/bin/node
.You can solve this issue installing the
nodejs-legacy
package which creates a symlink from/usr/bin/nodejs
to/usr/bin/node
.Solution:
References: nodejs-legacy package
step 1: run
npm -v
o/p : Error: bash: /usr/local/bin/npm: No such file or directorystep 2: run
which npm
o/p: /usr/bin/npmstep 3: run
hash -r
then runnpm -v
o/p : 3.5.2It appears that you've installed another Node version from source some time earlier. This is indicated by the
/usr/local/bin
path where it appears to be installed now.which npm
now lists/usr/bin
as installation path.In general you should never have to install packages from source. And if you do, please be aware of the consequences as you're overriding the package management here an it will get confused by it.