“/jsr/share/man/man1/node.1.gz 파일 덮어 쓰기 시도, 이는 nodejs-legacy 0.10.25 ~ dfsg2-2ubuntu1 패키지에도 있음”


9

nodejs를 설치하려고하는데 반복적으로 실패합니다. 첨부 된 로그

$ sudo apt-get install nodejs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libc-ares2 libv8-3.14.5
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  rlwrap
The following NEW packages will be installed:
  rlwrap
The following packages will be upgraded:
  nodejs
1 upgraded, 1 newly installed, 0 to remove and 11 not upgraded.
Need to get 0 B/4,391 kB of archives.
After this operation, 14.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package rlwrap.
(Reading database ... 263979 files and directories currently installed.)
Preparing to unpack .../rlwrap_0.37-5_amd64.deb ...
Unpacking rlwrap (0.37-5) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_0.10.31-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.31-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.31-1chl1~trusty1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/nodejs_0.10.31-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

당신은 실행할 수 sudo apt-get updatesudo apt-get upgrade?
Charles Green

@CharlesGreen 작동시킬 수 있습니다. 나는 내 질문에 스스로 대답했다.
Shash

답변:


10

잠재적으로 설치 수정

찰스는 코멘트에 말했듯이, 나는 실행하려고 것 sudo apt-get update하고 sudo apt-get upgrade. sudo apt-get autoremove더 이상 필요없는 패키지를 제거 하기 위해 실행할 수도 있습니다 .

오류는 nodejs-legacy패키지를 언급합니다 . 설치 한 적이 있으면 제거 할 수 있습니다.

우분투에 노드를 설치하는 더 좋은 방법

컴퓨터를 프로덕션 서버로 사용할 계획이 아니라면 NVM 도구를 사용하여 Node.js를 설치하는 것이 좋습니다 . 저장소에서 설치하면 사용할 필요 sudo로하는 리드 는 노드 모듈 설치하려고 할 때 지저분한 권한을 NPM을 사용합니다.

또한 NVM을 사용하면 여러 버전의 노드를 설치할 수 있으며 공식 리포지토리가 뒤에 있어도 노드 사본을 최신 상태로 유지할 수 있습니다.

최신 NVM 사본을 확보하십시오.

curl https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash

쉘에게 사용하도록 지시하십시오 nvm

source ~/.nvm/nvm.sh

그런 다음 노드 버전을 설치하십시오.

nvm install 0.10

사용하려는 노드의 버전을 nvm에 알려주십시오.

nvm use 0.10

1
감사합니다. nvm에 대해 말하면 정말 도움이되었습니다. 나는 허가와 싸움에 너무 아파지고 있었다.
Chev

~ / .npmrc에서 접두사 경로를 업데이트하여 사용 권한 문제를 해결하여 홈 디렉토리를 가리킬 수도 있습니다.
리치 레머

8

내가 놓친 한 가지는 이전 설치를 제거하고 다시 설치하는 것이 었습니다. 다음 명령을 사용하여 이전 설치를 제거했습니다.

sudo apt-get purge nodejs-legacy nodejs

sudo apt-get install nodejs

nodejs를 다시 설치하십시오.

나를 도와 준 SO 답변을 연결


아, 당신은 내가 타이핑을 끝내기 전에 알아 냈습니다! :) 그래도 NVM을 살펴 보는 것이 좋습니다. 따라서 sudo npm installnpm으로 모듈을 설치할 때마다 수행하지 않아도 됩니다.
Michael Martin-Smucker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.