#はじめに
Debian Wheezyに最新のnode.jsを入れたくてnvm(Node Version Manager)に環境を移行したのでメモ。
nvmの公式はこちら。
#手順
- nvmの導入
- nvmの動作確認
- node.jsの導入
- スクリプトの修正
##nvmの導入
基本はDebian/UbuntuでNode.jsをインストールする(nvm)でOK。
最新版は公式通りにcurl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
で入る。
##nvmの動作確認
nvmコマンドで以下のusageが表示される。
Node Version Manager
Note: <version> refers to any version-like string nvm understands. This includes:
- full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
- default (built-in) aliases: node, stable, unstable, iojs, system
- custom aliases you define with `nvm alias foo`
Usage:
nvm help Show this message
nvm --version Print out the latest released version of nvm
nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available
--reinstall-packages-from=<version> When installing, reinstall packages installed in <node|iojs|node version number>
nvm uninstall <version> Uninstall a version
nvm use [--silent] <version> Modify PATH to use <version>. Uses .nvmrc if available
nvm exec [--silent] <version> [<command>] Run <command> on <version>. Uses .nvmrc if available
nvm run [--silent] <version> [<args>] Run `node` on <version> with <args> as arguments. Uses .nvmrc if available
nvm current Display currently activated version
nvm ls List installed versions
nvm ls <version> List versions matching a given description
nvm ls-remote List remote versions available for install
nvm version <version> Resolve the given description to a single local version
nvm version-remote <version> Resolve the given description to a single remote version
nvm deactivate Undo effects of `nvm` on current shell
nvm alias [<pattern>] Show all aliases beginning with <pattern>
nvm alias <name> <version> Set an alias named <name> pointing to <version>
nvm unalias <name> Deletes the alias named <name>
nvm reinstall-packages <version> Reinstall global `npm` packages contained in <version> to current version
nvm unload Unload `nvm` from shell
nvm which [<version>] Display path to installed node version. Uses .nvmrc if available
Example:
nvm install v0.10.32 Install a specific version number
nvm use 0.10 Use the latest available 0.10.x release
nvm run 0.10.32 app.js Run app.js using node v0.10.32
nvm exec 0.10.32 node app.js Run `node app.js` with the PATH pointing to node v0.10.32
nvm alias default 0.10.32 Set default node version on a shell
Note:
to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)
##node.jsの導入
nvm ls-remote
でインストール可能なnode.jsのバージョン一覧が表示されるので、自分でインストールしたいバージョンを指定してインストールする。
2015/11月現在の最新は5.1.0なのでnvm install 5.1.0
とすればOK。
hoge@fuga:~$ node -v
v5.1.0
hoge@fuga:~$ npm -v
3.3.12
node.jsとnpmのバージョンを確認する。インストールが正常にできていれば上記のように表示されるはず。
##スクリプトの修正
ログイン時にnvmとnode.jsを有効にするために公式通りにexportを記載して、最後にnvmコマンドでデフォルトで使用するnode.jsのバージョンを指定しておく。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
nvm use 5.1.0 > /dev/null
上の二行は公式通り。
最終行を追加する。
#さいごに
nvm(Node Version Manager)を使用するとnode.jsの複数バージョン管理が楽で、かつユーザ単位での切り替えも容易になる。
使わない理由が特に見当たらないため、活用することをおすすめする。
#追記:2015/12/06
nvm use 5.1.0
と.bashrcに記載すると、WinSCPなどから入れなくなる。これはnvm useがechoで表示を行っているためで、SCPではこれが邪魔になる。
正しい対処方法か少し微妙だが、/dev/nullで非表示にすることでWinSCPも利用できるようになる。