aptを使用してNodeJS 4をインストールする方法は?


回答:


75

手順はこちらから取得しました:https : //github.com/nodesource/distributions

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

その後:

sudo apt-get install nodejs

システムのバージョンは次のとおりです。

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2

@jarserver-「次のパッケージには依存関係がありません:nodejs:Depends:rlwrapしかしインストールできませんE:問題を修正できません。壊れたパッケージを保持しています。」-apt-getインストール中にエラーが発生しました。これを修正する方法は?
クマーサンバブ

@KumarSambhavは、パッケージデータベースが壊れた状態にあるように聞こえます。適切な壊れた状態を修正する方法をサイトで検索してください。
バトルミジェット

これは、ubuntu 15.10では動作しません。常にv0.10.25をインストールします(OPよりも低いバージョンなので、何が起こっているのか
わかりませ

@HankScorpio apt-repoが更新されていないようです。手動のインストール手順(github.com/nodesource/distributions#manual-installation)に従ってみて、それが修正されるかどうかを確認してください。
jarsever

はい、それが問題でした。一部のGPGキー(それらが何であれ)が欠落していたため、apt-get update毎回失敗していました。私が使用しy-ppa-manager、問題を解決するために、今私はNodeJS 4の最新バージョン持っている
HankScorpio

37

Node Version Managerには常に最新の

Ubuntu でNodeバージョンマネージャーを使用してNodeをインストールすることは、(運用サーバーではなく)開発を行う予定のコンピューターにインストールする場合の最良の選択肢である強く考えています。

公式リポジトリからインストールすると、ひどく時代遅れの何かになります。いつでもPPAを追加できますが、npmからモジュールをグローバルにインストールするには管理者権限が必要になるという面倒な権限が残ってしまいます。

NVMを使用すると、すべてがホームフォルダーに保存されるため(の必要はありませんsudo)、Nodeの複数のバージョン(4.0を含む)をインストールし、それらを簡単に切り替えることができます。

NVMを使用したインストール

NVMのインストール手順から取得

NVMの最新コピーを入手します(sudo apt-get install curl最初に必要になる場合があります)。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

シェルに使用するように指示しますnvm~/.bashrc将来的に自動的に行われるようにこれを追加することもできます)。

source ~/.nvm/nvm.sh

次に、最新のノードバージョンをインストールします。

nvm install 4.0

そして、使用するNodeのバージョンをnvmに伝えます。

nvm use 4.0

端末に起動するたびにノードバージョンを選択する必要がないように、にnvm use 4.0行を追加することもでき~/.bashrcます。

ここでチェックするwhich nodeと、ホームフォルダー内のノード実行可能ファイルへのパスが提供されます。実行node --versionすると、実行していることがわかりますv4.0.0


6
面倒なパーミッションのコメントは正確ではないと思います。nodesourceapt repoからノードをインストールし、ローカルホームディレクトリ(-gグローバルオプションを含む)でノードモジュールを実行およびインストールできます。〜/ .npmrcを更新してプレフィックスディレクトリを定義するだけです。
バトルミジェット

3
ああ、それは非常に公平な点です。私はまだバージョン管理の面でnvmのファンですが、それがあなたのものでない場合、プレフィックスを設定することは~/.npmrc間違いなくグローバルモジュールのパーミッションを処理する正しい方法のようです。
マイケル・マーティン・スマッカー

公式リポジトリに関する「古い」メモは、答えは少し古いと思います;-)公式リポジトリは、サポートされているリリーストレインで公開されているすべてのバージョンをサポートするようになりました。バージョン6、7、および8でも、少なくとも以下の私の回答(10/15)以来、そのようになっています
-Guss

36

@jarseverへのkudusを使用して、私は個人的に " curl | sh "パラダイムを購読しません。

インターネットから任意のテキストをパイプしてルートアカウントのシェルプロセスにパイプするように求められたときに私と同じ種類の不安を感じる場合は、同じ効果のためにこれを試してみてください。と疑い:

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs

プロセスは明確である必要があり、UbuntuのソフトウェアプロパティUIでも同じことができます。


この方法で行うことには欠点はありますか?最適なオプションのようです...
Catskul

6
これは、複数行だし、お使いのシステムについて学ぶことができます?...一部の人々はそれを好きではない、私が思うに、それは私が説明することができます唯一の方法ですcurl|sh現象。
ガス

3
OSのパッケージマネージャーについて学習することに加えて、それはセキュリティの問題でもあります。curl|shサーバーからスクリプトを取得し、シェルで直接実行します。私は個人的にnodesourceを信頼していますが、入るのは大きな習慣ではありません。unix.stackexchange.com/questions/46286/...
blanket_cat

そしてそこにパイプするように頼みますsudo -E bash。ルートとして実行されています。ネットからルートシェルにパイプする場合は、スクリプトを読んで理解することを強くお勧めします。
blanket_cat

1
一般的に、debパッケージをインストールすると、インターネットをルートシェルにパイプするのと同じリスクが生じます。つまり、1つはシステムを理解していることを意味し、もう1つは理解していないことを意味します。これは大きな違いです。
ガス

0

pypi(https://pypi.python.org/pypi/nodeenv)からnodeenvを使用し、pipを使用してパッケージをインストールし、「node / virtualenv」をセットアップして、ビルド済みバージョンをインストールするように指示します。ポール


-1

これは私のために働いた

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
curl https://www.npmjs.org/install.sh | sh

ソース:https : //gist.github.com/isaacs/579814


1
質問は、具体的にはAptで NodeJSをインストールする方法についてです。
デビッドフォースター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.