Самый простой подход, когда это возможно, это использовать только один nvm или несколько .deb пакетов. Это, вероятно, избавит вас от многих головных болей в долгосрочной перспективе, так что сначала посмотрите на это. Кажется, что почти все связанное с узлами, предоставляемое .debпакетом, может быть установлено через nvmнего.
Однако, если это действительно невозможно, вы можете создать «фиктивные» .debпакеты, используя equivs-controlи equivs-buildсообщить, aptчто у вас установлены зависимости. Обратите внимание, что это может сбить с толку apt, если вы ошибаетесь. Кроме того, даже если вы удалите nvmпакеты, apt все равно будет думать, что у вас есть заменители, которые вы определили в фиктивных пакетах, пока вы не удалите сами фиктивные пакеты.
Во-первых, установите «эквиваленты», чтобы мы могли создать пустые пакеты:
sudo apt-get install equivs
Создайте контрольный файл, описывающий фиктивный пакет:
cd ~
equivs-control nodejs-dummy
Отредактируйте этот контрольный файл:
nano nodejs-dummy
Откомментируйте и измените строки в контрольном файле по желанию. В частности, установите строку «Обеспечивает:» для отображения списка пакетов, которые вы заменили 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, вам может потребоваться использовать именно тот номер версии, от которого он зависит. Однако я не уверен, какие проблемы могут возникнуть из-за этого, и вам, вероятно, придется пересматривать фиктивные пакеты всякий раз, когда пакеты ОС меняют версии.