Debian GNU/Linux で Node.js を使いたいと思っているけど、 Debian jessie では Node.js のパッケージはセキュリティアップデートが受けられない という状況。
また、 Node.js は頻繁にバージョンアップがあるので、そもそも Debian のパッケージ管理システムに頼るのも微妙。
かといって、Node.js のソースコードから自前でインストールして管理するのも大変。
そこで nodebrew という Node.js のバージョン管理システムをインストールして利用する。
今回の環境は Debian 8 jessie
$ cat /etc/debian_version
8.2
$ uname -mrsv
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64
Node.js 関連の Debian パッケージがすでにインストールされていないか確認。
$ dpkg -l | grep node
$ dpkg -l | grep npm
$ dpkg -l | grep libv8
nodebrew をインストールする
nodebrew の公式ページのドキュメントに従って、 nodebrew をインストールする。
$ curl -L git.io/nodebrew | perl - setup
nodebrew の実行ファイルにパスを通す。 ~/.bashrc の末尾に設定を追加。
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc
~/.bashrc の末尾に設定が追加されたことを確認。
$ tail -1 ~/.bashrc
export PATH=$HOME/.nodebrew/current/bin:$PATH
.bashrc の設定を現在のシェルに反映。
$ source ~/.bashrc
nodebrew が使えるか確認。ヘルプを表示している。
$ nodebrew help
nodebrew 0.9.2
Usage:
nodebrew help Show this message
nodebrew install <version> Download and install a <version> (compile from source)
nodebrew install-binary <version> Download and install a <version> (binary file)
nodebrew uninstall <version> Uninstall a version
nodebrew use <version> Use <version>
nodebrew list List installed versions
nodebrew ls Alias for `list`
nodebrew ls-remote List remote versions
nodebrew ls-all List remote and installed versions
nodebrew alias <key> <version> Set alias to version
nodebrew unalias <key> Remove alias
nodebrew clean <version> | all Remove source file
nodebrew selfupdate Update nodebrew
nodebrew migrate-package <version> Install global NPM packages contained in <version> to current version
nodebrew exec <version> -- <command> Execute <command> specified <version>
Example:
# install from binary
nodebrew install-binary v0.10.22
# use a specific version number
nodebrew use v0.10.22
# io.js
nodebrew install-binary io@v1.0.0
nodebrew use io@v1.0.0
nodebrew は、ホームディレクトリの .nodebrew/current/bin/nodebrew にインストールされる。
$ which nodebrew
/home/alice/.nodebrew/current/bin/nodebrew
Node.js 最新版の 5.1.0 をインストールする
nodebrew ls-all でインストール可能な Node.js のバージョン一覧と、インストール済みのバージョンを確認できる。
$ nodebrew ls-all | grep v5
v5.0.0
v5.1.0
nodebrew install-binary で Node.js 5.1.0 をインストールする。
$ nodebrew install-binary v5.1.0
Fetching: http://nodejs.org/dist/v5.1.0/node-v5.1.0-linux-x64.tar.gz
######################################################################## 100.0%
Installed successfully
インストールしただけでは使えないので、 nodebrew use でインストールした Node.js のバージョンを指定する。
$ nodebrew use v5.1.0
use v5.1.0
Node.js は ~/.nodebrew/current/bin/ にインストールされる。
$ node --version
v5.1.0
$ which node
/home/alice/.nodebrew/current/bin/node
Node.js のパッケージマネージャーである npm コマンドも、同じく ~/.nodebrew/current/bin/ にインストールされる。
$ npm --version
3.3.12
$ which npm
/home/alice/.nodebrew/current/bin/npm
簡単なサンプルプログラムを動かしてみる
npm で request パッケージをインストール。
$ npm install request
サンプルプログラムを書く。
$ cat sample.js
var request = require('request');
request.get(
'http://www.nilab.info/lab/0/sample_json.json',
function(error, response, body){
console.log(response.statusCode);
console.log(body);
}
);
サンプルプログラムを実行。ちゃんと動いている。
$ node sample.js
200
{
"foo" : "bar",
"text" : [
"hello",
"こんにちは",
"good bye",
"さようなら"
]
}
参考資料
- ref.
- Node v5.1.0 (Stable) | Node.js
- hokaccha/nodebrew · GitHub
- [ヅ] Debian に nodebrew をインストールして Node.js を使う (2015-05-02)
- [ヅ] Debian jessie では Node.js のパッケージはセキュリティアップデートが受けられない (2015-05-02)
tags: node.js debian
Posted by NI-Lab. (@nilab)