Fedora 29 に Node.js 11 系の最新版を dnf インストールする

サーバー構築 Fedora

Fedora 29 に Node.js 11 系の最新版をインストールします。
dnf コマンドを使用することで、セットアップを簡単に済ませることができます。

なお、今回は以下の環境で構築を行いました。

  • Fedora 29
  • Node.js 11.1.0
  • npm 6.4.1

CentOS 7.5 への Node.js インストール手順
Ubuntu 18.04 への Node.js インストール手順



Fedora 向けの Node.js リポジトリで dnf インストールを実行

Fedora 29 の標準リポジトリには Node.js 11 系が入っていません。
Node.js から Fedora 29 向けに提供されているリポジトリを使用します。

$ sudo dnf install https://rpm.nodesource.com/pub_11.x/fc/29/x86_64/nodesource-release-fc29-1.noarch.rpm

dnf で認識されているパッケージ情報を確認します。
Node.js のリポジトリを明示的に指定することで最新版に限定できます。

$ dnf info nodejs --repo nodesource
Available Packages
Name         : nodejs
Version      : 11.1.0
Arch         : x86_64
Repo         : nodesource

Node.js をインストールします。
環境によっては、依存関係で Python 2.x 系も同時インストールされます。

$ sudo dnf install nodejs

Node.js 11.1 の動作確認

インストールされた Node.js のバージョンを確認します。

$ node --version
v11.1.0

パッケージ管理ツールの npm コマンドもインストールされています。
2018年11月の最新バージョンは npm 6.4.1 です。

$ npm --version
6.4.1

簡単な js ファイルを作成して動作を確認します。
Hello, node! が出力されれば正常です。

$ echo 'console.log("Hello, node!");' > hello.js
$ node hello.js
Hello, node!

Node.js で Web サーバーを作成する

http モジュールを利用すると、Web サーバーを構築できます。
動作確認のため、GET リクエストに応答する単機能サーバーを作成してみましょう。

$ vi testServer.js

// 以下のコードを入力して保存
var http = require('http');

http.createServer(
  function (req, res) {
    res.writeHead(200, {"Content-Type": "text/plain"});
    res.write('Hello! from Node.js server.');
    res.end();
  }
).listen(9000);

一時的にファイアウォールの設定を追加します。

$ sudo firewall-cmd --add-port=9000/tcp

Node.js サーバーを実行します。
コンソールが返ってこなくなるため、終了させる際は Ctrl + C を入力します。

$ node testServer.js

curl コマンドやブラウザから http://<サーバー IP>:9000 にアクセスします。
先ほど作成したメッセージ Hello! from Node.js server. が返れば OK です。

$ curl http://aa.bb.cc.dd:9000/
Hello! from Node.js server.

一時追加したファイアウォール設定を削除します。

$ sudo firewall-cmd --remove-port=9000/tcp

Node.js セットアップ (Fedora) のまとめ

Fedora 29 に Node.js 11 系の最新バージョンを導入しました。
Fedora 向けのリポジトリが提供されているため、dnf コマンドでインストール可能です。

Node.js はサーバーサイドの軽量プログラムとしてよく利用されています。
簡易的なサーバーや、小規模な Web アプリケーションの際にご活用ください。

【関連記事】

MySQL のインストール手順 (Fedora)
nginx のインストール手順 (Fedora)
Docker のインストール手順 (Fedora)
MongoDB のインストール手順 (Fedora)
memcached のインストール手順 (Fedora)