エックスサーバーは、SSH を使ってターミナルエミュレータでログインすることができますが、そのままだと Node.js が使えません。つまり、node
コマンド(npm
, npx
も)が使えません。
本ページでは nvm を使って、Node.js をインストールする方法を紹介します。
1. nvm とは?
nvm は、Node.js のバージョン管理ツールです。これを使うと、複数のバージョンの Node.js を1つの環境に導入することができ、とても便利です。
Node.js とは?
Node.js は、「Chrome の V8 JavaScript エンジン で動作する JavaScript 環境」です。付属される node
コマンドを使うと、JavaScript で記述されたプログラムを実行することができます。また、合わせて導入される npm
コマンドを使うと、JavaScript で記述された様々なパッケージソフトウェアを導入することもできます。
特に、エックスサーバーのような共用レンタルサーバーの場合、OS に標準でついているパッケージ管理ツールが使えませんので、それ以外の方法でソフトウェアを導入しないといけません。
また、CentOS などでは標準のパッケージ管理ツールからインストールできるバージョンが古かったりしますので、新しいバージョンのパッケージソフトウェアをインストールするには、他の方法を利用することになります。
これらの場合、nvm を使って Node.js を導入する方法が役に立ちます。nvm のインストールには、パッケージ管理ツールを使わないからです(少なくても今回紹介する方法では)。
2. nvm の導入手順
nvm を導入するには、以下のコマンドを実行します。これだけです。
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
このコマンドの中にあるバージョンは、その時の最新バージョンを指定してください(creationix/nvm を見ると書いてあります)。
この時点で、~/.bashrc
には以下の3つのコマンドが追記されています(1行が1つのコマンドです)。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm を使うにはこれらのコマンドを実行しておく必要がありますが、このままだと、次回のログイン時以降に実行されるだけです。すぐに nvm を使いたい場合は、手動でこの3つのコマンドを実行します(次に進む前に実行してください)。
更に、この状態では、まだ Node.js も入っていません。以下のコマンドで、まずは最新版の Node.js をインストールしましょう。
$ nvm install node
※ このコマンドにおける node
は、「最新版」を表します。
この状態で、今インストールした最新版が使えるようになっていますが、明示的に使うバージョンを指定する場合は、nvm use
コマンドを使います。
$ nvm use node
nvm と Node.js (最新版)の導入は以上です。
特定のバージョンもインストールしたい場合は、nvm ls-remote
コマンドで、インストール可能なバージョンを確認することができますので、その中から目的のバージョンを決め nvm install
コマンドでインストールします。
詳細は、creationix/nvm を御覧ください。
3. 何か npm パッケージをインストールしてみます
Node.js に付属している npm
コマンドを使うと、npm で公開されている様々なパッケージをインストールすることができます。
ここでは、ターミナルエミュレータの中で画像を表示することができる sindresorhus/terminal-image-cli というパッケージを導入してみます。
ターミナルエミュレータ上でファイルを操作している最中、「この画像ファイルはどんな画像だったっけ?」という状況が時々ありますが、こんな時にターミナルエミュレータ上に画像を表示することができます(キレイではありませんが)。
以下のコマンドでインストールすることができます(詳しくは sindresorhus/terminal-image-cli を御覧ください)。
$ npm install --global terminal-image-cli
このパッケージについている image
コマンドを使って、猫の画像をターミナルエミュレータ上に表示していみます.
元画像
image
コマンドで表示したところ
頑張ってる方だと思います。
4. まとめ
nvm を使って Node.js をインストールすることで、npm の様々なパッケージが利用できるようになります。ターミナルエミュレータをよく使うのであれば、導入しておくとより便利になるでしょう。