nodejs,npm 在. 当我尝试升级它时
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Run Code Online (Sandbox Code Playgroud)
和类型npm -v,它抛出"Segmentation fault"。我重新启动系统并再次键入相同的命令,它再次显示相同的错误。因此,我通过ubuntu 软件中心从ubuntu 14.04 中删除了 nodejs 和 npm 包,然后重新安装。
然后我尝试使用命令通过 npm 包安装phonegap
sudo npm install -g phonegap
Run Code Online (Sandbox Code Playgroud)
但它没有返回任何进展。所以我检查了 npm 版本,它抛出一个错误“分段错误”。我也试试sudo npm -v。它什么都不返回。
所以我决定使用命令从 ubuntu 14.04 中删除 npm
sudo apt-get remove npm
Run Code Online (Sandbox Code Playgroud)
然后我输入sudo npm install -g phonegap它不能抛出 npm package is not available。

我的问题是:
npm -v,它返回“分段错误”sudo npm install -g phonegap,为什么它不能安装phonegap。帮我解决这个问题。或者提供一种卸载nodejs、npm、phonegap、expressjs、不太干净的方法并重新安装的方法。
编辑:

编辑1:
根据@chj1axr0 的回答,脚本在 nodejs 安装后抛出错误

我用谷歌搜索了一下,似乎(对于某些人来说)Nodejs 的最新 Ubuntu 软件版本中存在一个错误,导致您遇到分段错误
安装它的最佳方法是从源代码获取节点并编译它。
我在Github gist上设置了一个简单的脚本来处理它。
#!/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"
Run Code Online (Sandbox Code Playgroud)
确保并使用sudo chmod a+x /path/to/file/install_nodejs_latest.sh以确保它会启动。然后使用sudo sh /path/to/file/install_nodejs_latest.sh它来启动它。(我必须使用 sudo 运行才能正确触发所有命令)
该脚本删除旧的nodejs、npm 和所有节点模块。
它将在脚本末尾更新 npm。
建议每隔一段时间就这样做sudo npm install -g npm(如果你想要最新的),因为 npm 的升级速度比 Node js 更快
脚本完成后,运行npm -v,node -v如果弹出版本sudo npm install -g phonegap,则运行sudo npm install -g cordova,sudo npm install -g less如果您想将来更新任何模块,您所要做的就是再次安装它,这将覆盖以前的模块。expressjs是针对应用程序基础的应用程序,因此不建议全局安装它