Debian Jessieに最新のNodeJSをインストールする方法は?

Debian Jessieに最新のNodeJSをインストールする方法は?

推奨された方法を使って、Debian JessieにNodeJSとNPMをインストールしました。

apt-get install curl
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs

しかし、かなり古いバージョンです(ノードv0.10.38とnpm 1.4.28)。

最新バージョンをインストールする最も簡単な方法に関する提案はありますか?たとえば、現在のノードはv0.12.4で、npmは2.7.4です。ソースからインストールする唯一の方法ですか?

答え1

Node.jsに使用できる設定スクリプトがあります(参照:インストールに関する注意):

# Adapt version number to the version you want
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

少しコメント:私の謙虚な意見ではこれ非常に悪い考えcurl | sudo bash。 root権限検証を使用しないスクリプトを実行しています。スクリプトをダウンロードして読んで、悪意のあるコマンドがあることを確認してから実行することをお勧めします。それ、走る。しかし、それは私の2セントにすぎません。

以下の手順に従って手動でインストールを実行できます。手動インストールプロセス:

  • 古いPPAの削除(該当する場合)
  • ノードストアSSHキーの追加
  • ノードストアを次に追加します。sources.list
  • パッケージリストを更新し、好むaptツールを使用してインストール

答え2

最新バージョンの Node( 4.2.2) をダウンロードできます。彼らのウェブサイトから、Debian提供パッケージ(0.12)を使用する代わりに。これはまた、最新バージョンのnpmを使用していることを意味します。 Jesseはこれを行うのに何の問題もありませんでした。

.tar.gzそのウェブサイトからダウンロードしてcdこのディレクトリに入れます(ファイル名は明らかに私のダウンロードに固有です)。

$ tar -xzvf node-v4.2.2-linux-x64.tar.gz
$ cd node-v4.2.2-linux-x64

binフォルダを見ると、Nodeとnpmに必要なバイナリが表示されます。

$ ls node-v4.2.2-linux-x64/bin 
node  npm

それでは、フォルダ名を追跡しやすい名前に変更します。

$ mv node-v4.2.2-linux-x64 nodejs

ノードを更新し続けたくない場合は、このフォルダをストレージの場所の1つに移動し(1つを使用して~/bin)、次の手順をスキップしてください。

ノードのバージョンを簡単に更新するには、追跡できるnodejs場所(~/nodejsおそらく?)にフォルダを移動します。それからシンボリックリンクフルパスを作成せずにシェルでバイナリを使用できるように、binの場所の1つに保存します。

nodejsフォルダをホームディレクトリに配置したと仮定すると、次のことができます。

$ ln -s ~/nodejs ~/bin/nodejs

明らかに、これはあなたが望むゴミ箱の場所に達することができます。私は自分のためにホームディレクトリを使用しましたが、次のことを簡単に実行できます。

$ ln -s ~/nodejs /usr/local/bin/nodejs

これによりシンボリックリンクホームディレクトリのnodejsフォルダからbinディレクトリへ(これは、ホームフォルダのディレクトリへのすべての更新が、以下を介して他のフォルダに反映されることを意味します)シンボリックリンク)。ここで、nodejsディレクトリを含むbinフォルダが次の場所にあることを確認したいと思います。$PATH環境変数したがって、~/.profileホームディレクトリでファイルを開きます。これをファイルの一番下に追加したいです(使用しない場合はパスを変更してください~/bin/)。

# Set the node PATH if it exists
if [ -d "$HOME/bin/nodejs/bin" ] ; then
    PATH="$HOME/bin/nodejs/bin:$PATH"
fi

ディレクトリがあることを確認し、存在する場合はPATHに追加します。私は使用しているので、zsh行を更新しました~/.zshrc

export PATH="$HOME/bin/nodejs/bin:$PATH"

端末を閉じてからもう一度開き、次のように入力して確認してください。

$ node -v
v4.2.2

$ npm -v
2.14.7

シンボリックリンクを作成すると、将来の.tar.gzNodejs Webサイトから新しいシンボリックリンクをダウンロードして~/nodejs解凍できるようになります。$PATH 環境変数自動的に更新されます。

答え3

私の場合、推奨されるシェルコマンドを実行しました。

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

問題は、bashスクリプトが私のAPT修正を更新していないため、apt-getがnodesource.comの代わりにdebian.orgソースからデフォルトの古いDebianパッケージをインストールしたことです。

これが問題であることを確認してくださいapt-cache policy nodejsCandidate: 6.10.2-1nodesource1~jessie1代わりに、このようなものを見なければなりませんCandidate: 0.10.29~dfsg-2

ノードソースに固定優先順位を設定するには、次の内容を含むファイルを呼び出しに追加/etc/apt/preferences.d/します。node

Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200

保存して実行しますapt-get cache update。それからもう一度やり直してくださいapt-cache policy nodejs。候補が正しく表示されたら、正常にインストールしてください。apt-get install nodejs

答え4

公式ホームページから最新のLinuxバイナリ(.tar.gz)をダウンロードして使用してください。 https://stackoverflow.com/a/23084499/1197421

関連情報