답변:
가능할 때마다 가장 간단한 방법은 하나 또는 패키지 만 사용하는 것 입니다. 이것은 아마도 당신에게 장기적으로 많은 두통을 덜어 줄 것이므로 먼저 살펴보십시오. 패키지 가 제공하는 거의 모든 노드 관련 기능이 대신 설치 될 수 있습니다 .nvm
.deb
.deb
nvm
그게 정말 가능하지 않은 경우, 그러나, 당신은 "더미"를 만들 수 있습니다 .deb
사용하여 패키지를 equivs-control
하고 equivs-build
얘기 apt
가 설치 종속성이 있는지 확인하십시오. 문제가 발생하면 apt를 혼란스럽게 할 수 있습니다. 또한 nvm
패키지 를 제거하더라도 apt는 더미 패키지 자체를 제거 할 때까지 더미 패키지에 정의한 대체 요소가 있다고 생각합니다.
먼저 "equivs"를 설치하여 더미 패키지를 빌드하십시오.
sudo apt-get install equivs
더미 패키지를 설명하는 제어 파일을 작성하십시오.
cd ~
equivs-control nodejs-dummy
이 제어 파일을 편집하십시오.
nano nodejs-dummy
제어 파일에서 원하는대로 주석을 해제하고 행을 변경하십시오. 특히 "Provides :"줄을 설정하여을 사용하여 대체 한 패키지를 나열하십시오 nvm
. 예를 들면 다음과 같습니다.
Package: nodejs-dummy
Version: (version slightly higher than what the apt package actually provides)
Maintainer: Your Name <yourname@example.com>
Provides: nodejs
Architecture: all
Description: Something that will remind you what this does ;)
패키지를 빌드하십시오.
equivs-build nodejs-dummy
마지막으로 설치하십시오.
sudo dpkg -i nodejs-dummy_use_the_actual_filename.deb
를 사용하여 대체 한 패키지에 대해 헹구고 반복하십시오 nvm
. 패키지가로 교체 한 다른 패키지의 특정 버전에 의존하는 경우 패키지에 의존 nvm
하는 정확한 버전 번호를 사용해야합니다. 그러나 어떤 문제가 발생할지 잘 모르겠습니다 .OS 패키지가 버전을 변경할 때마다 더미 패키지를 계속 다시 작성해야 할 것입니다.
이것은 nvm이 소프트웨어를 배포하는 방식에 문제가 있습니다. 그들은 단순히 배포판 특정 포장을하고 있지 않습니다. 구체적으로 말하면 nvm을 빠르게 읽었으며 바이너리를 가져옵니다. 예를 들어 다음은 nodejs 6에 설치하는 내용입니다. https://nodejs.org/.../lates.../node-v6.3.1-linux-x64.tar.gz 여기에는 표준 .deb가 포함되어 있지 않습니다. .rpm 메타 데이터이므로 실제 패키지를 제대로 릴리스 할 때까지 배포판 수준 패키지 관리자가 수행 할 수있는 작업이 많지 않으며 서로 충돌 할 수 있습니다. 적절한 패키지를 공개하는 nvm의 요점을 이해하고 있다면 배포판 특정 패키지를 지원하는 것과 관련이 있기 때문에 관심있는 것은 아닙니다. 대신 우리는 nvm이라는 핵을 가지고 있습니다. 어쩌면 그들의 자식에 대해 문제를 제기 할 수 있습니다. 이것은 nodejs 커뮤니티에서만 수정할 수 있습니다.
특히 npm과 nvm은 현재 대부분의 배포판 패키지 관리자에서 잘 지원되는 배포 패키지와 비교할 때 코드 서명 ( source ) 개념을 지원하지 않는 것 같습니다 . 이것은 시스템 패키지 설치에 대해 상당히 안전하지 않은 방법입니다.