回答:
可能な限り最も簡単なアプローチは、どちらかのパッケージのみを使用することです。これはおそらく長い目で見れば頭痛の種を大幅に減らすことができるので、まず最初に調べてください。パッケージによって提供されるノード関連のほぼすべてのものを、代わりに経由してインストールできるようです。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を簡単に読んで、バイナリをwgetしているだけです。たとえば、nodejs 6用にインストールするものは次のとおりです。https ://nodejs.org/.../lates.../node-v6.3.1-linux-x64.tar.gz これには、標準の.debまたは.rpmメタデータ。実際のパッケージを適切にリリースするまで、パッケージマネージャーが実行できるディストリビューションレベルはほとんどなく、互いに競合する可能性があります。適切なパッケージをリリースするnvmのポイントが、ディストリビューション固有のパッケージのサポートに結び付けられているため、彼らが興味を持っているものではないことを理解している場合。その代わりに、nvmというハックがあります。おそらく彼らのgitに対して問題を提出してください。これはnodejsコミュニティによってのみ修正できます。
特に、npmとnvmは現在、コード署名(source)の概念をサポートしていないようです。そのため、ほとんどのディストリビューションのパッケージマネージャーでサポートされているディストリビューションパッケージと比較してください。これは、システムパッケージをインストールするためのかなり安全性の低いアプローチです。