プログラミング/nvm
Node.js を複数バージョンインストールして切り替えて使うためのツール †
ruby の nvm のようなもの。
インストール †
https://github.com/creationix/nvm のとおりにする。
現時点では v0.33.8 になっているけれど、毎回最新版を確認すべき。
LANG:console $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12540 100 12540 0 0 183k 0 --:--:-- --:--:-- --:--:-- 185k => nvm is already installed in /home/osamu/.nvm, trying to update using git => => Compressing and cleaning up git repository => nvm source string already in /home/osamu/.bashrc => Appending bash_completion source string to /home/osamu/.bashrc => Close and reopen your terminal to start using nvm or run the following to use it now: export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
インストール時に表示されたとおりにシェルを再起動するか、 あるいは以下のようにして最新番の nvm を有効化する。
LANG:console $ export NVM_DIR="$HOME/.nvm" $ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm $ [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion $ nvm --version 0.33.8
入手可能な Node のバージョンを確認してインストール
LTS は Long Term Support の略で、長期的にバグフィックスなどのメンテナンスが行われる予定のバージョン。
LANG:console $ nvm ls-remote | grep "Latest LTS" v4.8.7 (Latest LTS: Argon) v6.13.1 (Latest LTS: Boron) v8.10.0 (Latest LTS: Carbon) $ nvm install 8.10.0 Downloading and installing node v8.10.0... Downloading https://nodejs.org/dist/v8.10.0/node-v8.10.0-linux-x64.tar.xz... ######################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v8.10.0 (npm v5.6.0)
パッケージマネージャ npm も新しくしておく。
LANG:console $ npm i -g npm /home/osamu/.nvm/versions/node/v8.10.0/bin/npm -> /home/osamu/.nvm/versions/node/v8.10.0/lib/node_modules/npm/bin/npm-cli.js /home/osamu/.nvm/versions/node/v8.10.0/bin/npx -> /home/osamu/.nvm/versions/node/v8.10.0/lib/node_modules/npm/bin/npx-cli.js + npm@5.7.1 added 63 packages, removed 6 packages and updated 49 packages in 7.731s
プロジェクトルートに .nvmrc を作っておくと、使用する Node バージョンを毎回指定し直す手間を省けるはず?
LANG:console $ echo "8.10.0" > .nvmrc $ nvm use 8.2.1 $ cd . $ node --version v8.2.1
あれ、rvm と違ってフォルダーを移動しただけではバージョンは切り替わらないみたい。
LANG:console $ nvm exec node Running node v8.10.0 (npm v5.7.1) $ npm Usage: npm <command> ... npm@5.3.0 /home/osamu/.nvm/versions/node/v8.2.1/lib/node_modules/npm $ nvm exec npm init Found '/home/osamu/sinatra/.nvmrc' with version <8.10.0> Running node v8.10.0 (npm v5.7.1) This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. ... $ nvm exec npm install riot Found '/home/osamu/sinatra/.nvmrc' with version <8.10.0> Running node v8.10.0 (npm v5.7.1) npm notice created a lockfile as package-lock.json. You should commit this file. ... + riot@3.9.0 added 91 packages from 87 contributors in 5.095s $ riot --version riot-cli: 4.0.1 - https://github.com/riot/cli riot-compiler: 3.4.0 - https://github.com/riot/compiler
ふむ、でもこれ毎回 nvm exec するの面倒だなあ。
何も指定せずに、
LANG:console $ nvm use Found '/home/osamu/sinatra/.nvmrc' with version <8.10.0> Now using node v8.10.0 (npm v5.7.1)
とすれば切り替わるのだけれど、、、
まあこういう使い方なのかな???
コメント・質問 †
Counter: 3249 (from 2010/06/03),
today: 2,
yesterday: 6