nodejs、npmは以前は正常に動作します。 アップグレードしようとする
Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable
npm -v
と入力すると、"Segmentation fault"
がスローされます。システムを再起動し、同じコマンドを再度入力すると、同じエラーが表示されます。そこで、nodejsとnpmパッケージをbuntu 14.04からbuntu Software Centerを介して削除し、再インストールします。
次に、コマンドを使用してnpmパッケージでphonegapをインストールしようとします
Sudo npm install -g phonegap
ただし、進捗は返されません。だから私はnpmのバージョンを確認し、それはエラー「セグメンテーションフォールト」をスローします。 Sudo npm -v
も試してみます。何も返しません。
だから私はコマンドを使用してubuntu 14.04からnpmを削除することにしました
Sudo apt-get remove npm
次に、Sudo npm install -g phonegap
と入力しますが、npmパッケージは使用できません。
私の質問は:
npm -v
」と入力すると、「Segmenatation Fault」が返されます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"
必ずSudo chmod a+x /path/to/file/install_nodejs_latest.sh
を使用して、開始することを確認してください。次に、Sudo sh /path/to/file/install_nodejs_latest.sh
を使用して起動します。 (すべてのコマンドを正しく実行するには、Sudoを実行する必要があります)
このスクリプトは、古いnodejs、npm、およびすべてのノードモジュールを削除します。
スクリプトの最後にnpmを更新します。
Npmはノードjsよりも高速にアップグレードするため、時々Sudo npm install -g npm
(最新のものが必要な場合)を実行することをお勧めします
スクリプトの完了後、npm -v
およびnode -v
を実行します。バージョンがポップアップする場合は、Sudo npm install -g phonegap
、Sudo npm install -g cordova
、Sudo npm install -g less
を実行します。将来、モジュールを再度インストールするだけで、前のモジュールが上書きされます。 expressjs はアプリベースのアプリ用であるため、グローバルにインストールすることは推奨されません
apt-get remove --purge
で削除してみてください。いくつかのファイルが残っているかもしれません。
which npm
の出力を確認してください。
Nodejsをどのようにインストールしましたか?アップストリームバージョンは、ノードとともにnpmをパッケージ化するのに対し、ubuntuでは別のものだと思います。アップストリームnpmをインストールした場合、aptでnpmを削除すると、アップストリームnpmを使用するようになりました。 node/npmが起動時にロードする破損したパッケージに問題がある場合、切り替えは修正されません。たぶんあなたのシステムからすべてのnode/npmのものを削除して、新しい意志を始めます。知るか。ノードです。
私は同じ問題を抱えて解決しました。(私のOSはubuntu 19.4です)
この問題が発生する理由は、nodejsとnpmを別々にインストールしたためです。
そのため、最初にnodejsとnpmを削除する必要があります。
Sudo apt --auto-remove purge npm
Sudo apt --auto-remove purge nodejs
そして、nodejsだけをインストールします
Sudo apt-get install nodejs
最後に、nodejsとnpmを確認するために次のコマンドを実行します
node -v
npm -v
注:nodejsとnpmは一緒にパッケージ化されているため、npmを個別にインストールする必要はありません。