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


29

推奨されるアプローチを使用して、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ですか?ソースからのインストールが唯一のアプローチですか?

回答:


48

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です。ルート権限でチェックしなかったスクリプトを実行しています。それは、それを読んで、スクリプトをダウンロードし、悪質なコマンドを確認するために、常に良いでしょう、そして後にその、それを実行します。しかし、それはちょうど私の2セントです。

インストールは、手動インストール手順に続くいくつかの手順で手動で実行できます

  • 古いPPAを削除します(該当する場合)
  • ノードリポジトリsshキーを追加
  • ノードリポジトリを追加 sources.list
  • パッケージリストを更新し、お気に入りのaptツールを使用してインストールする

5
ops、それを使用しますが、今はsetup_4.x... redo curlとapt-get okがありますか?
ピータークラウス

3
最新の実際のバージョンが必要になる場合があるので、サイトgithub.com/nodesource/distributionsにアクセスすることをお勧めします。
seniorpreacher

バイナリを実行しているのと同じソースからの安全な接続を介して来る場合、それを信頼しないのはなぜですか

@ acidzombie24は正しいですが、たとえコードが悪ではないと信頼していても、スクリプトに間違いがあったり、スクリプトが古くなったり、構成が少し変わっている可能性が常にあります。あるいは、sources.listを何らかの方法で注文したいのですが、スクリプトはそうしません。とにかく、それは悪い習慣であり、初心者(私はOPを目指していませんが、一般的には)はそれをするよう奨励されるべきではないと思います。特に、手動でアクションを実行する場合は、スクリプトを調べるよりもはるかに簡単です。
ジェローム

12

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

ダウンロード.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つに移動し(私はを使用~/bin)、次の手順をスキップします。

ノードのバージョンを簡単に更新できるようにしたい場合は、nodejsフォルダーを追跡可能な場所に移動します(~/nodejsおそらく?)。次に、いずれかのビンの場所へのシンボリックリンクを作成して、フルパスを書き出さずにシェルからバイナリを使用できるようにします。

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

symリンクを作成することにより、今後、.tar.gzNodejs Webサイトから新しいものをダウンロードしてに抽出~/nodejsし、$PATH 環境変数で使用可能なバイナリが自動的に更新されることを意味します。


これは、作業中のnpmも与えてくれたので、私にとってはうまくいきました。
artfulrobot

4

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

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 nodejs。あなたは次のように表示されるはずCandidate: 6.10.2-1nodesource1~jessie1はありませんCandidate: 0.10.29~dfsg-2

nodesourceにセットピンの優先度に、中のファイルを追加する/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


apt-get cache update戻ったE: Invalid operation cacheので走りましたsudo aptitude update
-user394

2

公式のnode.jsドキュメントに従って、パッケージマネージャーで最新バージョンをインストールできます

Node.js v6:

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

Node.js v7:

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

後者を実行すると、ノードv7.5.0およびnpm v4.1.2がシステムにインストールされました。Nodeの両方nodenodejsエイリアスが自動的に有効になりました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.