web-dev-qa-db-ja.com

Ubuntu 16.04にノード6.xをインストールすると、実際にノード4.2.6がインストールされるのはなぜですか?

これらは、Ubuntu 16.04にノードをインストールするための私の手順でした:

curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sudo apt-get install -y nodejs 
Sudo apt-get install -y npm

公式の指示は次のとおりです。

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

これを実行した後、nodejs --versionを実行するとv4.2.6が返されます。

setup_6.xを使用したときに、6で始まるバージョンがインストールされると想定していましたか?

おそらくsetup_6.xsetup_6.2.1にすべきだと思っていましたが、そのページは404を返します。

https://deb.nodesource.com/setup_6.x (そこにページがあります)

https://deb.nodesource.com/setup_6.2.1 (404を返します)

Ubuntu 16.04にノードの最新の安定バージョンをインストールするにはどうすればよいですか?

編集:

これらはSudo apt-get install -y nodejsを実行した後の結果です:

Sudo apt-get install -y nodejs 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp libboost-python1.58.0 libjs-inherits libjs-node-uuid libjs-underscore
  libssl-dev libssl-doc libuv1-dev linux-headers-4.4.0-18
  linux-headers-4.4.0-18-generic linux-headers-4.4.0-21
  linux-headers-4.4.0-21-generic linux-image-4.4.0-18-generic
  linux-image-4.4.0-21-generic linux-image-extra-4.4.0-18-generic
  linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-18-generic
  linux-signed-image-4.4.0-21-generic python-configobj python-pycurl
  python-pyexiv2 python-pyexiv2-doc
Use 'Sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/3,162 kB of archives.
After this operation, 13.2 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 329473 files and directories currently installed.)
Preparing to unpack .../nodejs_4.2.6~dfsg-1ubuntu4_AMD64.deb ...
Unpacking nodejs (4.2.6~dfsg-1ubuntu4) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.7.5-1) ...
Setting up nodejs (4.2.6~dfsg-1ubuntu4) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode

編集:

apt-cache policy nodejsの結果:

apt-cache policy nodejs
nodejs:
  Installed: 4.2.6~dfsg-1ubuntu4
  Candidate: 4.2.6~dfsg-1ubuntu4
  Version table:
 *** 4.2.6~dfsg-1ubuntu4 500
        500 http://au.archive.ubuntu.com/ubuntu xenial/universe AMD64 Packages
        100 /var/lib/dpkg/status
74
user1063287

核となる理由は、セットアップスクリプトが正しく実行されなかったことです。したがって、これをサポートするOPからの更新されたデータのおかげで、NodeSourceリポジトリからのデータは、スクリプトによって適切に構成されなかったため、aptには表示されませんでした。

そのため、スクリプトはディストリビューションを見つけられなかったか、リポジトリの構成時に台無しになった可能性があります。または、ネットワークが中断された可能性があります。

バージョン4.xがインストールされているという事実は、スクリプトが適切に機能しなかったことを意味するため、スクリプトに必ずしも障害があるわけではありません。これは、より難しい方法で潜在的にこれを行う必要があることを意味します。

私は指摘する必要があります:スクリプトは実際にはインストールを行いません-実行しているDebian/Ubuntuのバージョンを判別し、リポジトリからデータを取得するように設定するだけです。インストール部分は、実際には手動で実行したSudo apt-get installステップです。


スクリプトに依存するのではなく、スクリプトが従来の方法で行っていることを実行できます。手動で、リポジトリ構成をセットアップし、NodeJSをインストールします。

この作業を手動で行う方法を次に示します。これは基本的にスクリプトの動作です(ステップ4を除き、正確なバージョンデータを取得することを確認します)。

  1. 新しいファイルを作成:/etc/apt/sources.list.d/nodesource.list

    Sudoを使用してこのファイルを作成する必要がありますが、ファイルを作成するときは、このファイルをその中に配置します。

    deb https://deb.nodesource.com/node_6.x xenial main
    deb-src https://deb.nodesource.com/node_6.x xenial main
    

    次に、ファイルを保存します。 (新しいNodeバージョンの場合、node_6.xnode_7.xまたはnode_8.xなどに置き換えます)

  2. リポジトリのNodesourceからGPG署名キーをダウンロード。そうしないと、NO_PUBKEYapt-get updateエラーが発生する場合があります。

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | Sudo apt-key add -
    
  3. 手動でSudo apt-get updateを実行

    これにより、nodesourceリポジトリからのデータが更新され、aptは新しいバージョンが存在することを認識します。

    NO_PUBKEY GPGエラーが表示された場合は、手順2に戻ります

  4. apt-cache policy nodejs出力を確認してください。

    これはスクリプトでは行われませんが、出力にこのような内容のエントリが表示されていることを確認する必要があります(ただし、バージョン文字列として6.xを使用していない場合、バージョンは異なる可能性があります。注意点は、nodesourceを介して提供される新しいバージョン番号があることです:

    Version table:
        6.2.1-1nodesource1~xenial1 500
           500 https://deb.nodesource.com/node_6.x xenial/main AMD64 Packages
        4.2.6~dfsg-1ubuntu4 500
           500 http://archive.ubuntu.com/ubuntu xenial/universe AMD64 Packages
    

    このようなエントリが表示されず、4.2.6のみが表示される場合は、最初からやり直します。それ以外の場合は、続行します。

  5. nodejsバイナリをインストールします。 6.xがシステムで利用可能であることを確認したので、それをインストールできます:Sudo apt-get install nodejs

  6. nodejs --versionは、出力にv6.2.1または類似のものを表示するはずです(v6.で始まる限り、バージョン6を使用している場合、これは、 6よりも新しいバージョンですが、4.2.6でない限り、うまくいくはずです。

132
Thomas Ward

古いバージョンのノードがありました。私がする必要があるのは、古いものをパージすることだけでした:

Sudo apt-get purge nodejs npm

そして、それぞれのバージョンの必要に応じて、v=6の6を7、8、9に置き換えます( 公式インストール手順 を参照):

v=6
curl -sL https://deb.nodesource.com/setup_$v.x | Sudo -E bash -

(curlがインストールされていることを確認してください。)

そして最後に、

Sudo apt-get install -y nodejs

ブーム、ノードの最新バージョン。

38
codemode

Ubuntu 16.04.2バージョンのユーザーの場合(Thomas'postから少し変更され、彼に感謝します)

1.ソフトウェアアップデーターを開く

2.設定

3.その他のソフトウェア

4.ソースを追加しますが、後ですべての新しいソースオプションを選択することを忘れないでください。


deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main

5.リロード

6 .Sudo apt-get update

7 .apt-cache policy nodejs //新しいバージョンテーブルを取得し、ソースがセットアップされているかどうかを確認する

8 .Sudo apt install nodejs

9 .nodejs --version

今ではすべてが設定されています.......

警告:アップデータパネルからnvidiaカードのLinuxデフォルトドライバを変更しないでください....システムがクラッシュします。..!!!

4
Jason Liu

同じ問題がありました。しかし、私の場合は、curlコマンドをアップグレードする必要がありました。 -Sオプションを指定して実行すると、問題を確認できます。

curl -s -S https://deb.nodesource.com/gpgkey/nodesource.gpg.key | Sudo apt-key add -

問題を示した

curl: (1) Protocol "https" not supported or disabled in libcurl
gpg: no valid OpenPGP data found.

そこで、以下を実行してこの問題を修正しました。

Sudo apt-get install curl
Sudo apt autoremove
curl -sL https://deb.nodesource.com/setup_8.x | Sudo -E bash -
Sudo apt-get install nodejs
3
zatopek

Https。

deb http://deb.nodesource.com/node_8.x xenial main
deb-src http://deb.nodesource.com/node_8.x xenial main

次のステップ:実行

Sudo curl -sL http://deb.nodesource.com/setup_8.x | Sudo -E bash -

それから

Sudo apt-get install -y nodejs

これは、Ubuntu 16.04 LTSの問題を解決したため、更新されたnodejsバージョンとnpmバージョンをインストールすることで問題を解決します...

1
sunilsmith

このリンクを見つけて、Nodejs8____https://www.ubuntuupdates.org/ppa/nodejs_7.xをインストールするのに役立ちます。 3行以上のリンクを投稿するにはレベル2である必要があると言っていたため、Nojs8httpsをその行に参加させる必要がありました。それはランダムではあるが何でもあると思う。

インストールする前に、コマンドを実行しました:apt-get remove --purge version nodejs

バージョンがインストールされていないことを確認するには、apt-cached policy nodejsまたはnodejs --versionを実行します

7を8に変更するだけでNode js 8をインストールでき、バージョン8.1.3になりました。それを行うために、私は上記で投稿したページにあるコマンドを実行しましたが、とにかくここにコマンドがあります:

リポジトリキーをダウンロードします。

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

次に、リポジトリをセットアップします。

Sudo sh -c "echo deb https://deb.nodesource.com/node_7.x zesty main \ > /etc/apt/sources.list.d/nodesource.list"

Sudo apt-get update

Sudo apt-get install nodejs

繰り返しになりますが、ノードjs 8が必要な場合は、そのコマンドラインの番号7を8に変更してください。

0
Victor Espinoza

Ubuntu 16をお持ちの場合は、この手順を試してください。このプロセスで尋ねられたときはいつでもあなたのアカウントのパスワードも提供してください。

  1. Sudo su -c "echo 'deb https://deb.nodesource.com/node_8.x xenial main' >> /etc/apt/sources.list.d/nodesource.list"

  2. Sudo su -c "echo 'deb-src https://deb.nodesource.com/node_8.x xenial main' >> /etc/apt/sources.list.d/nodesource.list"

  3. 須藤apt-getアップデート

  4. apt-cache policy nodejsリストされているバージョンにノード8があるかどうかを確認します

  5. Sudo apt-get install nodejs

  6. nodejs -vインストールされているノードのバージョンを確認します

これにより、nodejsバージョン8がシステムに正常にインストールされます。他のバージョンが必要な場合は、ステップ1および2でバージョンを変更すると正常に動作します。

0
arc lightning

バージョン8の https://github.com/nodesource/distributions の指示に従うことを試みましたが、うまくいきませんでした。 https://deb.nodesource.com/setup_8.x に直接アクセスし、スクリプトをコピーしてシステム上のファイルに貼り付けましたnodejs.sh。その後、次のコマンドを実行しました

Sudo -E bash nodejs.sh
apt-cache policy nodejs
Sudo apt-get install nodejs

コマンドapt-cacheは、8をインストールする設定の2つのバージョンを示しました。インストールファイルは後で削除できます。 curlコマンドでスクリプトが適切に表示されたため、ファイルをローカルにコピーした理由がわかりません。

0
Bryan Toth