A abordagem mais simples, sempre que possível, é usar somente nvm
ou .deb
packages. Isso provavelmente vai lhe poupar muitas dores de cabeça a longo prazo, então olhe para isso primeiro. Parece que quase tudo relacionado a nós que é fornecido por um pacote .deb
pode ser instalado via nvm
.
Se isso não for possível, no entanto, você poderá criar "fictícios" .deb
packages usando equivs-control
e equivs-build
para informar apt
de que você tem as dependências instaladas. Note que isso poderia confundir apt se você errar. Além disso, mesmo que você desinstale nvm
packages, o apt ainda achará que você possui os substitutos que você definiu nos pacotes fictícios até desinstalar os próprios pacotes fictícios.
Primeiro, instale "equivs" para que possamos criar os pacotes fictícios:
sudo apt-get install equivs
Crie um arquivo de controle que descreva o pacote fictício:
cd ~
equivs-control nodejs-dummy
Edite este arquivo de controle:
nano nodejs-dummy
Descomente e altere as linhas no arquivo de controle conforme desejado. Em particular, defina a linha "Fornece:" para listar os pacotes que você substituiu usando nvm
. Por exemplo:
Package: nodejs-dummy
Version: (version slightly higher than what the apt package actually provides)
Maintainer: Your Name <[email protected]>
Provides: nodejs
Architecture: all
Description: Something that will remind you what this does ;)
Crie o pacote:
equivs-build nodejs-dummy
Por fim, instale-o:
sudo dpkg -i nodejs-dummy_use_the_actual_filename.deb
Enxágüe e repita para os pacotes que você substituiu usando nvm
. Se um pacote depender de uma versão específica de outro pacote que você substituiu por nvm
, talvez seja necessário usar o número de versão exato do qual ele depende. No entanto, não tenho certeza de quais problemas podem surgir, e você provavelmente precisará continuar a reconstruir seus pacotes fictícios sempre que os pacotes do SO mudarem de versão.