npm -v 분할 오류 반환

npm -v 분할 오류 반환

nodejs, npm은 이전에 잘 작동했습니다.. 언제업그레이드 하려고 하는데

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

그리고 를 입력하면 npm -vthrow 됩니다 "Segmentation fault". 시스템을 다시 시작하고 동일한 명령을 다시 입력하면 다시 동일한 오류가 표시됩니다. 그래서 nodejs와 npm 패키지를 제거합니다.우분투 14.04~을 통해우분투 소프트웨어 센터다시 설치해 보세요.

그런 다음 설치하려고합니다.폰갭명령을 사용하여 npm 패키지를 통해

sudo npm install -g phonegap

그러나 진행 상황이 반환되지 않습니다. 그래서 npm 버전을 확인했는데 "세그먼트 오류" 오류가 발생했습니다. 나도 노력한다 sudo npm -v. 아무것도 반환하지 않습니다.

그래서 다음 명령을 사용하여 우분투 14.04에서 npm을 제거하기로 결정했습니다.

sudo apt-get remove npm 

sudo npm install -g phonegap그런 다음 can't throw npm package is not available이라고 입력합니다 .

Nodejs

내 질문은 다음과 같습니다

  1. 패키지가 없는데 왜 를 입력하면 npm -v"세그멘테이션 오류"가 반환됩니다.
  2. 패키지가 제거되지 않은 경우 다음을 입력하면 sudo npm install -g phonegap왜 Phonegap을 설치할 수 없는지 알 수 있습니다.

이 문제를 해결하도록 도와주세요. 아니면 덜 깔끔한 방법으로 nodejs, npm,phonegap, expressjs를 제거하고 다시 설치하는 방법을 제공하세요.

편집하다:

폰갭

편집1:

@chj1axr0 답변에 따르면 nodejs 설치 후 스크립트에서 오류가 발생합니다.

여기에 이미지 설명을 입력하세요

답변1

나는 주변을 검색해 보았는데 (일부에게는) 최신 Ubuntu 소프트웨어 버전의 Nodejs에 분할 오류를 일으키는 버그가 있는 것 같습니다.

이를 설치하는 가장 좋은 방법은 소스에서 노드를 가져와서 컴파일하는 것입니다.

간단한 스크립트를 설정했습니다.Github 요지그게 처리될 거예요.

#!/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이 node j보다 더 빠르게 업그레이드하기 때문에 가끔 sudo npm install -g npm(최신 버전을 원한다면) 수행하는 것이 좋습니다.

스크립트가 완료된 후 실행 npm -v하고 node -v버전이 나타나면 실행하십시오 sudo npm install -g phonegap. sudo npm install -g cordova또한 sudo npm install -g less나중에 모듈을 업데이트하려면 다시 설치하기만 하면 이전 모듈이 재정의됩니다.익스프레스앱 기반 앱용이므로 전역적으로 설치하는 것은 권장되지 않습니다.

답변2

  1. 으로 제거해 보세요 apt-get remove --purge. 어쩌면 일부 파일이 남아있을 수도 있습니다.

  2. 의 출력을 확인하십시오 which npm.

  3. nodejs는 어떻게 설치하셨나요? 업스트림 버전은 노드와 함께 npm을 패키지하는 반면 우분투에서는 별개라고 생각합니다. 업스트림 npm을 설치한 경우 apt로 npm을 제거하면 업스트림 npm을 사용하도록 전환됩니다. 문제가 시작 시 node/npm이 로드하는 손상된 패키지에 있는 경우 전환해도 문제가 해결되지 않습니다. 어쩌면 시스템에서 모든 node/npm 항목을 제거하고 새로운 것을 시작할 수도 있습니다. 누가 알아. 노드입니다.

답변3

저도 같은 문제가 있어서 해결했습니다.(제 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을 별도로 설치할 필요는 없습니다.

관련 정보