UbuntuにNode.jsをインストール

目次

なんか聞いたことはあるけどそれが何なのかは分からない"Node.js"。 拡張子からJavaScriptのファイルみたいですが何がどうなるのか知りません。 なので使ってみることにしました。

OSは"Ubuntu 20.04.2"です。

Node.jsをインストールする

公式を見てみると2021年4月28日現在、14.16.1が推奨版になっていました。 とりあえず公式のインストールページを参考にインストールします。

https://github.com/nodesource/distributions/blob/master/README.md

推奨版が14.16.1なので、“Node.js v14.x:“の項目を端末で実行します。

$ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt-get install -y nodejs

2つのコマンドを実行するといろいろダウンロードされてインストールされました。

バージョンを確認してみます。

$ node -v
v14.16.1

推奨バージョンがインストールされていました。

インストール中にメッセージが表示されたのですが、コマンドでは"Node.js 14.x"と"npm"がインストールされているようです。

## Run `sudo apt-get install -y nodejs` to install Node.js 14.x and npm
## You may also need development tools to build native addons:
     sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
     curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
     echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
     sudo apt-get update && sudo apt-get install yarn

npmとやらのバージョンも確認してみました。

$ npm -v
6.14.12

メッセージにある開発ツールやYarnパッケージマネージャーは分からないのでインストールしていません。

Node.jsを実行する

そもそもNode.jsが何か分からないので次に何をすればいいのか分かりません。 そこで公式のドキュメントを探してみると「インストール後にNode.jsを開始するには?」というページを見つけたので試してみます。

とりあえず作業用のディレクトリを作ります。

$ mkdir work
$ cd work

ドキュメントの通りJavaScriptapp.jsファイルを作成します。

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

端末でJavaScriptファイルを指定してnodeを実行するとWebサーバーが起動します。

$ node app.js
Server running at http://127.0.0.1:3000/

ブラウザでhttp://localhost:3000を見るとapp.jsファイルで指定したメッセージが表示されました。 終了させるときは端末でCtrl+Cキーを押します。

Node.jsでJavaScriptファイルを実行

Node.jsでJavaScriptファイルを実行

端末でnodeとだけ実行すると直接JavaScriptを入力して実行することができます。 >に続けてJavaScriptを入力します。

終了は最後のメッセージにあるように"Ctrl+C"を2回か、.exitを入力します。

$ node
Welcome to Node.js v14.16.1.
Type ".help" for more information.
> var a = 100;
undefined
> a * 2.5;
250
> console.log(a);
100
undefined
> 
(To exit, press Ctrl+C again or Ctrl+D or type .exit)
> 

undefinedと表示されるのは、命令文が結果を返さないから? この辺の動作はまだよく分かりません。

Node.jsを端末から入力して実行

Node.jsを端末から入力して実行

Node.jsはJavaScriptの実行環境

ここまでで分かったのは、Node.jsはJavaScriptファイルではありませんでした。 Webブラウザではなく、コマンドラインやサーバーで使うJavaScriptの実行環境でした。