npm -v return Segmentation fault
Solution 1
I have googled around and it seems (for some) that there is a bug in the latest Ubuntu software version of Nodejs that causes the segmentation fault that you are haveing
The best way to install it is by getting node from the source and compiling it.
I have setup a simple script on a Github gist that will take care of it.
#!/bin/sh
# Update System
echo "System Update"
apt-get -y update
echo "Update completed"
# Installing the applications needed to build Nodejs
apt-get -y install libssl-dev git-core pkg-config build-essential curl gcc g++ checkinstall
# Download & Unpack Node.js - v7.3.0
echo "Download Node.js - v7.3.0"
mkdir /tmp/node-install
cd /tmp/node-install
wget https://nodejs.org/dist/latest/node-v7.3.0.tar.gz
tar -zxf node-v7.3.0.tar.gz
echo "Node.js download & unpack completed"
# Install Node.js
echo "Compiling and installing Node.js"
cd node-v7.3.0
./configure && make && checkinstall --install=yes --pkgname=nodejs --pkgversion "7.3.0" --default
echo "Node.js install completed! Deleting The /tmp files"
rm -rf /tmp/node-install
echo "If you have made it this far in the script with no errors popping up all is well have a good day"
Make sure and use sudo chmod a+x /path/to/file/install_nodejs_latest.sh
to make sure it will start. Then use sudo sh /path/to/file/install_nodejs_latest.sh
to start it. (It must me ran with sudo for all the commands to fire correctly)
The script removes the old nodejs, npm and all node modules.
It will update npm at the end of the script.
Every once and awhile it is recommended to do sudo npm install -g npm
(If you want the latest) because npm upgrades faster then node js does
after the script is complete run npm -v
and node -v
If the versions pop up then run sudo npm install -g phonegap
,sudo npm install -g cordova
,sudo npm install -g less
also if you want to update any of the modules in the future all you have to do is install it again and that will override the preveous one. expressjs is for an app by app bases so it's not recomended to install it globally
Solution 2
Try removing with
apt-get remove --purge
. Maybe some files got left around.check the output of
which npm
.How did you install nodejs? I think the upstream version packages npm along with with node, whereas they're separate in ubuntu. If you installed upstream npm, removing npm with apt just switched you to using upstream npm. If the problem is with corrupted packages which node/npm loads on startup, switching won't fix it. Maybe removing all node/npm stuff from your system and starting fresh will. Who knows. It's node.
Tamil Selvan C
Updated on September 18, 2022Comments
-
Tamil Selvan C over 1 year
nodejs, npm works fine before. When I try to upgrade it
sudo npm cache clean -f sudo npm install -g n sudo n stable
And type
npm -v
, it throw"Segmentation fault"
. I restart system and I type a same command again, again it show same error. So I remove nodejs and npm package from ubuntu 14.04 through ubuntu Software Center and reinstall it again.Then I try to install the phonegap through npm package using a command
sudo npm install -g phonegap
But it doesn't return any progress. So I check the npm version, it throws an error "Segmentation fault". I also try
sudo npm -v
. It return nothing.So I decide to remove the npm from ubuntu 14.04 using the command
sudo apt-get remove npm
Then I type
sudo npm install -g phonegap
it can't throw npm package is not available.My Question is:
- The package is not there, then why i type
npm -v
, it return "Segmenatation Fault" - If package not remove, then when i type
sudo npm install -g phonegap
, why It cannot install phonegap.
Help me to solve this issue. Or provide a way to unistall nodejs, npm, phonegap, expressjs, less clean way and reinstall it.
Edit:
Edit1:
As per @chj1axr0 answer, the script throw an error after nodejs install
-
Admin almost 9 yearsAre you trying to install the latest version of NodeJS?
-
Admin almost 9 years@chj1axr0 yes...when i tried to upgrade nodejs, after that I get an issue of Segmentation fault
-
Admin almost 9 years@chj1axr0 I tried to uninstall it many times and reinstall it, no way its works. Can you provide a way to clean uninstall and install nodejs, phonegap, expressjs again.
-
Admin almost 9 yearsBy the way what version of Ubuntu are you trying to set this up on
-
Admin almost 9 yearsI used ubuntu 14.04
-
Admin almost 9 yearscordova, less, n, npm, phonegap node modules are installed globally
- The package is not there, then why i type
-
Tamil Selvan C almost 9 yearsI install nodejs from ubuntu software center
-
Tamil Selvan C almost 9 yearssee my edit in my question. When I type
phonegap -v
it return Segemation error. Can you explain how to remove all nodejs and npm, phonegap, expressjs, less -
Tamil Selvan C almost 9 yearsOK. I try it and let you know when it finish
-
Tamil Selvan C almost 9 yearsSee my Edit1. I get an error after install nodejs in script
-
chj1axr0 almost 9 yearsWhen you do
npm -v
ornode -v
what does the output say? It may just be having an error on installing the modules -
Tamil Selvan C almost 9 years
npm - v
returns 2.11.3 andnode -v
returns v0.12.7 -
chj1axr0 almost 9 yearsOk so Node is installed and so is npm try doing
sudo install -g phonegap
orsudo npm install -g cordova
and see the output of that -
chj1axr0 almost 9 yearsIf it is an error on the part of installing the modules I will take them out of the script for future reference to this Question
-
Tamil Selvan C almost 9 yearsOk. I install phonegap as per your command. let you know when it is finish.
-
chj1axr0 almost 9 yearsLet us continue this discussion in chat.
-
Tamil Selvan C almost 9 years
phonegap -v
returns 0.9.4. -
Tamil Selvan C almost 9 yearsThanks for all. In future, how i upgrade phonegap. can you add this in your answer then it useful for other also
-
Peter Drinnan almost 5 yearsThis worked for me on Ubuntu 19