Ubuntu에서 Nodejs 업그레이드: 깨진 파이프 오류를 수정하는 방법은 무엇입니까?

Ubuntu에서 Nodejs 업그레이드: 깨진 파이프 오류를 수정하는 방법은 무엇입니까?

우분투 20.10에서 nodejs를 업그레이드해 보세요.

공식 설치 지침을 실행하십시오.

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

다음 오류가 발생합니다.

The following packages will be upgraded:
  nodejs
1 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
1 not fully installed or removed.
Need to get 0 B/24.5 MB of archives.
After this operation, 119 MB of additional disk space will be used.
(Reading database ... 277425 files and directories currently installed.)
Preparing to unpack .../nodejs_14.15.4-deb-1nodesource1_amd64.deb ...
Unpacking nodejs (14.15.4-deb-1nodesource1) over (12.18.2~dfsg-1ubuntu2) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_14.15.4-deb-1nodesource1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/doc/nodejs/api/dgram.json.gz', which is also in package nodejs-doc 12.18.2~dfsg-1ubuntu2
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/nodejs_14.15.4-deb-1nodesource1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

nodejs-doc를 제거하거나(종속성 충돌) 다음을 실행하라고 제안하는 다른 StackOverflow 답변을 살펴보았습니다.

sudo dpkg -i --force-overwrite /usr/share/doc/nodejs/api/dgram.json.gz

둘 다 작동하지 않는 것 같습니다. 위 명령의 경우 파일이 deb 패키지여야 한다는 메시지가 표시됩니다. 어쨌든 저는 이 전략이 설정을 망칠 수 있기 때문에 약간 회의적입니다.

nodejs-doc를 제거하려고 하면 다음과 같은 결과가 나타납니다.

You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 nodejs : Depends: libnode72 (= 12.18.2~dfsg-1ubuntu2) but it is not going to be installed
          Recommends: nodejs-doc but it is not going to be installed

추천 달리기도 시도해 보았지만 apt --fix-broken install도움이 되지 않는 것 같습니다.

답변1

이 모든 것이 나에게는 효과가 없습니다.

작동하는 것은 다음과 같습니다.

sudo dpkg --remove --force-remove-reinstreq libnode-dev
sudo dpkg --remove --force-remove-reinstreq libnode72:amd64

통과하다

답변2

universe종속성이 누락된 저장소 제공을 활성화해야 합니다.libnode72 (= 12.18.2~dfsg-1ubuntu2)그리고nodejs-doc (12.18.2~dfsg-1ubuntu2)우분투 20.10에서:

sudo add-apt-repository universe
sudo apt install libnode72 nodejs-doc

dpkg -i --force-overwrite다음 파일을 가리켜야 합니다 .deb.

sudo dpkg -i --force-overwrite  /var/cache/apt/archives/nodejs_14.15.4-deb-1nodesource1_amd64.deb

답변3

nodejs-doc를 제거하세요:

sudo apt remove nodejs-doc

답변4

다음 명령을 실행하십시오.

sudo apt remove nodejs  
sudo apt remove nodejs-doc
sudo dpkg --remove --force-remove-reinstreq libnode-dev
sudo dpkg --remove --force-remove-reinstreq libnode72:amd64
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs

관련 정보