A abordagem mais simples, sempre que possível, é usar apenas um nvm
ou .deb
pacotes. Provavelmente, isso poupará muitas dores de cabeça a longo prazo, então verifique isso primeiro. Parece que quase tudo relacionado ao nó que é fornecido por um .deb
pacote pode ser instalado via nvm
.
Se isso realmente não for possível, no entanto, você poderá criar .deb
pacotes "fictícios" usando equivs-control
e equivs-build
informando apt
que possui as dependências instaladas. Observe que isso pode confundir o apt se você errar. Além disso, mesmo se você desinstalar nvm
pacotes, o apt ainda pensará que você tem os substitutos que você definiu nos pacotes fictícios até desinstalar os pacotes fictícios.
Primeiro, instale "equivs" para que possamos construir 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
Remova o comentário 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 <yourname@example.com>
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águe e repita os pacotes que você substituiu usando nvm
. Se um pacote depende de uma versão específica de outro pacote que você substituiu nvm
, pode ser necessário usar o número exato da versão em que ele depende. Entretanto, não tenho certeza de quais problemas podem surgir e você provavelmente precisará continuar reconstruindo seus pacotes fictícios sempre que os pacotes do sistema operacional mudarem de versão.