Node.JSをCentOSにインストールする方法は?


131

Node.jsのインストール手順は多数見つかりましたが、それらはすべて非常に複雑に思えます-私はスーパーシステム管理者ではありませんが、回避できます。システムにyumがありますが、node.jsパッケージが見つかりませんでした。また、サーバーでコードをコンパイルする方法や配置する場所がわかりません。


みなさん、すばらしい回答をありがとう。nodejsとnpmの両方を今すぐインストールできます!素晴らしい
-qodeninja


... EPELを使用します(まだリポジトリがない場合は、インストール手順をインストールします:rackspace.com/knowledge_center/article/…)。
geerlingguy 14年

EPELのようなものはもう動作しないと思う-または
Centos

回答:


139
su - 
yum install gcc-c++ openssl-devel
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
./configure
make
make install

./configure上記を使用するにはPython 2.6+が必要です。python2.7必要に応じて、1行目を指すように「構成」ファイルを変更できます。

RPMパッケージを作成するには、FPMを使用できます。

# wget http://nodejs.org/dist/node-latest.tar.gz
# tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
# ./configure --prefix=/usr/
# make
# mkdir /tmp/nodejs
# make install DESTDIR=/tmp/nodejs/
# tree -L 3 /tmp/nodejs/
/tmp/nodejs/
└── usr
    ├── bin
    │   ├── node
    │   ├── node-waf
    │   └── npm -> ../lib/node_modules/npm/bin/npm-cli.js
    ├── include
    │   └── node
    ├── lib
    │   ├── dtrace
    │   ├── node
    │   └── node_modules
    └── share
        └── man

nodejsパッケージを作成します。

# fpm -s dir -t rpm -n nodejs -v 0.8.18 -C /tmp/nodejs/ usr/bin usr/lib

次に、バージョンをインストールして確認します。

# rpm -ivh nodejs-0.8.18-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:nodejs                 ########################################### [100%]

# /usr/bin/node --version
v0.8.18

ソース:https : //github.com/jordansissel/fpm/wiki/PackageMakeInstall


3
しかし、それは私が正しくインストールしたと仮定していますか?私はいけないID?
qodeninja

9
yum install gcc-c ++を含める必要がありました
-Yehosef

17
これは技術的には正しいですが、あらゆる種類の保守性または再現性のために、必要なすべてのマシンのソースから手動でビルドおよびインストールするのではなく、RPM(またはディストリビューションのパッケージ)を介してパッケージを管理することを強くお勧めします。以下の回答の多くは、事前に構築されたパッケージにリンクしています。
ジェイソンアントマン

5
現在、RPMを介してNode.JSとそのエコシステムのいずれかを管理しようとするのは無益です。これは、Nodeといくつかのモジュールパッケージを含むyumリポジトリを簡単に実行した人として言っています。
jgoldschrafe

5
@IsaacRabinovitch彼らは三進法を追加しましたがif、これはPython 2.5までは実現しませんでした。CentOSは、システムPythonを2.4のカスタムパッチバージョンにペッグするというRHELパスに従うため、私のソリューションはの代わりにyum install python26 python26-devel実行され、実行されpython26 configureました./configure。次に、MakefileはPythonスクリプトも実行するため、PYTHON変数をのpython26代わりにに定義しましたpython。また、あなたはg++そこに必要になるだろうので、まだ持っていないなら、あなたはそうすべきyum install gcc-++です。
ハンクゲイ

64

CentOS 6.xがあり、EPELリポジトリ有効にしている場合、yumを使用してnode / npmをインストールできます。

$ sudo yum install npm

インストールが完了したら、ノードが適切にセットアップされていることを確認します。

$ node -v

(のようなものを返す必要がありますv0.10.36)。

Node.jsの新しいバージョン(4.x、5.xなど)が必要な場合は、EPELの代わりにNodesource yumリポジトリを使用できます。


2
これは私のCentOS 6.4システムでうまく機能し、nodeとnpmをくれました。ノード0.10.13を取得しました。最新のsrc tarball 0.10.15から少し外れています。これは、「ソースからインストール」オプションよりも優れているため、さらに支持する必要があるようです。
ニーク

1
これに従ってEPELリポジトリをインストールします。
リーチーキアム14

1
更新するには、epel repository runを有効にしてからyum install -y epel-release、yumでnodeとnpmをインストールできます。
svassr

v4.2.xのyumで動作するepelまたはepel-releaseを取得できませんでした。以下のnave.shの回答は美しく機能しました。
-jcollum

1
yumを介してインストールすると、非常に古いバージョンv0.10.42が得られます... yum / rpmを介してNodeをインストールして最新バージョン(現在5.9.0)を取得するにはどうすればよいですか?
-dokaspar

27

「パッケージマネージャーによるNode.jsのインストール」の要点には、CentOSにnodejsをインストールするための指示が含まれていません。Fedora 18以降、nodejsは標準リポジトリの一部になります。「epel-fedora-nodejs」レポを試してみると、更新されていないことがわかり、バージョンは古い0.6.0のままです。

幸いなことに、Nodeの仮想環境であるnaveあります。

https://github.com/isaacs/nave

nodejsのインストールは簡単です。

$ wget https://raw.github.com/isaacs/nave/master/nave.sh
$ chmod +x nave.sh
$ ./nave.sh install 0.8.8
$ ./nave.sh use 0.8.8
$ node -v  
v0.8.8

nave.shファイルで、ローカルURLをnodejsの最新のdist構造と一致するように変更する必要がある場合があります。0.11.0では、nave.shを次のURLに変更しました

" http://nodejs.org/dist/v $ version / node-v $ version-linux-x64.tar.gz"


1
nodejs.tchol.orgは現在デッド
-explunit

@explunit答えを更新するだけです。naveを試してください。
ユーザー974312

参考までに、このユーザーのみにインストールするようです。./nave.sh usemain <バージョン>:あなたは、システム全体のためにそれをインストールしたい場合
千枚通し

「nodejsは標準リポジトリの一部になります」-CentOS 7では、信じられないほど古くなっています。インストールされているバージョンはv10.xです(IT部門がとにかく使用しているCentOS上)。
-jcollum

13

CentOSの場合

yum install gcc-c++ make git
cd /usr/local/src/
git clone git://github.com/joyent/node.git
cd node
./configure
make
make install

2
ノードプロジェクトへの貢献を計画している場合を除き、githubバージョンではなくリリースバージョンを使用する必要があります。
BT

11

[編集]以下のコメントで、nodejs.tchol.orgサイトがスパムサイトを指している(sic!)ことを指摘してくれてありがとう。この回答はもう機能しません。使用しないでください!

Chrisが彼のソリューションで説明した方法がCentOS 5.4で機能することを確認できます(1分前に実行しました:))

wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm

PS:もちろん、それをインストールするためにはroot(またはsudoを使用)でなければなりません。

ソースからのインストール(常にオプション)の他に、まだ別の方法があるかもしれません。 ここでは、 「node.jsは2012年12月の時点でFedora Rawhideに受け入れられ、Fedora 18で利用可能になる」と読みました、したがって、最終的には標準的なCentOSリポジトリに移行する可能性があります

これを見てみましょう。


3
これはCentOS 6で見事に機能しました。ありがとう!
カイルファリス

12
「nodejs.tchol.orgは」今死んでいる
デヴィッド・ニューカム

2
したがって、ソースからインストールする必要があります。恐れてはいけません。
ジョンハント

2
@JohnHuntソースからインストールすると、これ以上きれいにアンインストールできなくなります。Rubyでも同じ問題が発生しました。幸いなことに、VMイメージをロールバックできます...ソースからインストールする場合は、インストールするパッケージを深く理解する必要があります。数千のLinuxパッケージがあることを考えると、これはオプションではありません!
クリスチャン

1
「上のリンク」?回答は投票順に並べ替えられ、Chrisの回答はあなたの回答より下になりました。
アイザックラビノビッチ

10

上記のように、「tchol.org」はなくなっており、CentOSの人々はパッケージマネージャーの使用を放棄するか、別のOSに切り替えることを検討しています。私は、実験/開発用以外のすべてのボックスで前者を(再び)実行するすべてに対して自分と協定を結びました。

:幸いなことに、RPMがでまだ利用可能である http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

repo-installerのrpmを無視します。これにより、yumは無効なサイトにリダイレクトされます。時代遅れにならない限り、それで少し時間がかかるはずです。

新しいリポジトリに目を光らせて、それらが見つかったらポストバックします。


リンクの0.6バージョンはすでにかなり古いものだと思います。RHEL / CentOSには今のところ本当に良いオプションはないようです。これはRed Hat自体がnode.js PaaSを提供して
です-explunit

8

これはCentOS 5.7で私のために働いた:

yum install openssl-devel 
yum install python27
yum install gcc-c++
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
cd node-v[tab]
python2.7 configure
make PYTHON=python2.7
make install

3
python 2.7はリポジトリにないため、CentOS 5.10ではpython 2.6を使用する必要があります。
ohho

7

他の回答のいずれにもリストされていないもう1つのアプローチがあります。それは、0.8.6以降に公開された Linux用のバイナリディストリビューションを使用することです

私が使用するスクリプトは次のとおりです。

# get the latest stable binary 
latest_node=$(curl http://nodejs.org/dist/latest/SHASUMS.txt | grep 'linux-x64.tar.gz' | awk '{ print $2 }')
wget -O ~/nodestable.tar.gz http://nodejs.org/dist/latest/$latest_node
cd /usr/local/
sudo tar xzvf ~/nodestable.tar.gz --strip=1

または、特定のバージョンが必要な場合(たとえば、0.8シリーズのままにする場合):

wget http://nodejs.org/dist/v0.8.22/node-v0.8.22-linux-x64.tar.gz
cd /usr/local/
sudo tar xzvf ~/node-v0.8.22-linux-x64.tar.gz --strip=1

CentOS 6.3の場合、nodeおよびnpmコマンドが通常のユーザーまたはsudoから機能するように、次のリンクを追加する必要がありました。バージョンによっては必要ない場合があります。

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

率直に言って、CentOS / RHELでのnode.jsの状況はかなり悪いです。リポジトリにはnode.jsが含まれていないためです(関連する質問を参照)。この回答には、ソースからコンパイルするための前述の欠点と同じ欠点があります。


7

上記の答えは時代遅れです

ルートとして

curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs

これで完了です。

インストールを確認する

node -v

私のバージョンのcurlは、URLのSSL証明書の署名機関を好まないようです。そのため、スクリプトは黙って失敗します。curl -kオプションを使用してそれを通過できます。
スパイクウィリアムズ

また、上記のcurlコマンドに-kを追加した後、ダウンロードされる「セットアップ」スクリプトでそのドメインからのcurlダウンロードへの参照も更新する必要があります。次に、bashを使用してそのスクリプトを手動で実行します。
スパイクウィリアムズ

5

nvm(複数の)安全かつ簡単にノードのインストールを処理することについて誰も言及していませんhttps://github.com/creationix/nvm?とても便利だと思います。

あまりにも、スクリプトのないノードのリリースファイルツリーとそのカスタムRPMパッケージを構築することであっても便利なlatest-nodewget./configuremakemake install何とか何とか。

nvm install 0.10.9

リリースに従ってバイナリをダウンロードするか、ソースコードをコンパイルします。


オフラインインストールはありますか?
アミットパテル

4

Node.js v4 LTS Argonの場合、RHEL、CentOS、またはFedoraでrootとして実行します。

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -

Node.js v5の場合:

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

Node.js 0.10の場合:

curl --silent --location https://rpm.nodesource.com/setup | bash -

次に、ルートとしてインストールします。

yum -y install nodejs

ソース:https : //nodejs.org/en/download/package-manager/


CentOS 7.2で機能する唯一の答え。そして、とても迅速かつ完璧に働きました。
writeToBhuwan

推奨事項:GitHubのNVMプロジェクトにアクセスし、READMEから最終的な指示を取得してください:github.com/creationix/nvm#installation
Kay V

3

ここに.specファイルとともに、いくつかの非常に簡単な指示があります:

http://www.chrisabernethy.com/installing-node-js-on-centos-redhat/

これをソースからコンパイルするので、システム上でそれを行うために必要なすべてのパッケージ(gccおよび友人)があることを確認する必要があります。この一連の手順はRPMをビルドするためのものであるため、必要なパッケージがない場合、rpmbuildは最初にインストールする必要のあるパッケージを通知します。


1
サーバー障害へようこそ!これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
user9517

また、リンクは/ usr / src / redhatを参照していますが、これは私のCentOS 5インストールには存在しないようです(正しく理解すれば/ usr / local / srcにあります)
Kato

2
最近の変更では、Pythonインストールの更新も必要になります(またはPython 2.4を使用しているCentOSサーバーではconfigureは機能しません)。情報を更新してここに配置することを検討してください。
ティムポスト

3

npmも必要です

git clone https://github.com/isaacs/npm.git
cd npm
sudo make install

エイミーではなく、ノードに付属しています。
ThomasReggi

3

nodebrewを使用できます。 $ curl -L git.io/nodebrew | perl - setup $ export PATH=$HOME/.nodebrew/current/bin:$PATH $ source ~/.bashrc $ nodebrew install-binary latest $ nodebrew use latest $ node -v


2

Ubuntuの場合、これはバージョン0.4.10で機能しました

cd /usr/local/src/
sudo wget http://nodejs.org/dist/node-v0.4.10.tar.gz
sudo tar zxvf node-v0.4.10.tar.gz 
cd node-v0.4.10/
sudo ./configure 
sudo make
sudo make install

質問はCentOSのためである
jcollum

2

これは、centOS 7にノードv0.10.36をインストールしたDockerfileです

FROM centos:7

RUN    yum -y update
RUN    yum -y install vi, vim, unzip, tar
RUN    yum -y install wget, curl, git

RUN    yum -y install epel-release
RUN    yum -y install npm

2

バージョン4+に対する私の答え:

yum -y install wget
wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-x64.tar.gz
tar xzf node-v4.0.0-linux-x64.tar.gz -C /usr/local
rm -rf node-v4.0.0-linux-x64.tar.gz
mv /usr/local/node-v4.0.0-linux-x64 /usr/local/node
ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm

フォルダーhttps://nodejs.org/dist/latest/をチェックして、最新バージョンのダウンロードリンクを見つけます。


これにより、Pleskを実行しているCentOSサーバーに保存されました。gccが古くなっているため、ソースから最新バージョン(5)をビルドできません。私はgccを更新しますが、通常はyumを使用して手動で更新すると、Pleskが悲鳴を上げる子になります。
ねじれたピクセル

4.x安定版のtarはありますか?いくつかのバージョンの変更を乗り越えれば、答えは良くなります。
jcollum

回答を編集して、ディストリビューション固有のインストールを見つけることができる最新の配布フォルダーへのリンクを含めました。
エヴァンシロキー

1

以下のコードはCentOS 6でかなりうまく機能しました

wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm

もう機能しません。http://nodejs.tchol.orgはもうオンラインではありません。


以前は機能していました。そのマシンはもう存在していません。
rox0r

1

RHEL 5.8でこのインストールを自分でやるというタスクは、さほど昔ではありませんでした。残念ながら、nodejs.tchol.orgがオフラインになると、唯一のオプションはソースからビルドすることです。

ただし、ビルドスクリプトにはRHEL上のデフォルトバージョンのPythonでは動作しないpythonコードが含まれるため、ビルドプロセスはかなり複雑になりました。たくさんの試行錯誤の後(そして多くのグーグルで)、私はこのブログ投稿を見つけました。これは基本的に、必要な以下のタスクをステップごとに説明しています。

a。Python 2.6 bをインストールします。そのバージョンのpythonを代替バージョンとしてセットアップし、それをデフォルトとして設定しますc。node.jsの構成とインストールd。Pythonをデフォルトの2.4バージョンに切り替えます。

重要なのは、後でPython 2.4に切り替える必要があることです。そうしないと、yumのような単純なものは失敗します。

http://www.robeesworld.com/blog/31/installing_node_js_0_8_under_centos_5_8


1

一流の回答を使用してインストールした後、Sudo許可なしにグローバルモジュール(-g)をインストールできませんでした。NPMの更新でエラーが表示されました。以下の方法は私にとって完璧に機能しました。SUまたはSUDO権限は必要ありません。

https://gist.github.com/isaacs/579814)から取得した以下の方法を使用してNode.jsとNPMをインストールしましたが、そのページにdeesejohnが投稿したコメントからのアドバイスに従ってコマンドの2行を変更しました。

cd
sudo yum install gcc-c++
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=$HOME/local
make install
curl -L https://www.npmjs.org/install.sh | sh

node -vおよびを使用してインストール済みバージョンを確認しますnpm -v

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