web-dev-qa-db-ja.com

Ubuntuのapt-getパッケージマネージャーに古いバージョンのnodejsとnpmがあるのはなぜですか?

Apt-getでnodejsとnpmをインストールすると

Sudo apt-get update
Sudo apt-get install nodejs modejs-legacy npm
I have the versions

次のバージョンを取得します

npm -v
1.3.10

nodejs -v
v0.10.25

これらを手動で更新する方法は知っていますが、apt-getパッケージマネージャーにこれらのパッケージの古いバージョンがあるのはなぜですか?

14
user1283776

インターネット上の他の指示では、スクリプトをダウンロードしてSudoにパイプすることにより、ノード7.xをインストールするように指示されています。これはタイピングは少なくなりますが、そのスクリプトと、Webサイトを侵害したり、コンピューターへのMITM攻撃ルートアクセスを設定した可能性があるすべての人に与える可能性があります。

メインのaptリポジトリのメンテナーは、パッケージを追加する前に監査およびテストするため、最新バージョンを承認するまでに時間がかかる場合があります。独立して保守されているリポジトリからノード7.xをダウンロードできます。

この答え から貼り付けてコピーします

Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
Sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
Sudo apt-get update
Sudo apt-get install nodejs
1
roo2

考慮すべきことの1つは、$(lsb_release -sc)を使用してリポジトリを追加することはubuntuで機能しますが、Linux MintなどのUbuntuベースのディストリビューションでは機能しない可能性があることです。 nodesourceからのスクリプトは、Ubuntuベースのディストリビューション名から対応するUbuntuディストリビューション名への変換を行います。

例:「Linux Mint」「sylvia」は「Ubuntu」「xenial」にマッピングされます

つまり、Ubuntuベースのディストリビューションの応答に示されている手順を使用する場合は、$(lsb_release -sc)を実際のベースUbuntuディストリビューションに置き換える必要があります。

たとえば、Linux Mint sylviaにインストールするには、次のように入力する必要があります。

Sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x xenial main"
0
Raul Suarez