LoginSignup
8
9

More than 5 years have passed since last update.

Node.js/Ruby/Pythonのバージョン管理は-env系で統一

Last updated at Posted at 2018-10-02

仕事上、メインの API サーバは Ruby on Rails、Lambda やマイクロサービス的な小さいサーバは Node.js、一部 DevOps 関連のスクリプトを Python で書いてたりする。

各種プログラミング言語を使うときは言語自体のバージョン管理が必要となるが、-env 系のバージョン管理ツールで統一するとコマンドがいっしょなので便利。

そして Mac でも Linux でも使える(これ超大事)。

Mac へのインストール方法

$ brew install nodenv
$ brew install rbenv
$ brew install pyenv

基本的なコマンド

インストール可能なバージョン一覧

$ rbenv install -l

インストール

$ rbenv install 2.5.1

インストール済のバージョン一覧

$ rbenv versions

アンインストール

$ rbenv uninstall 3.6.5

インストールしたバージョンをシステム上でグローバルに利用する

$ rbenv global 3.6.5

インストールしたバージョンを現在のディレクトリだけで利用する

$ rbenv local 3.6.5

カレントディレクトリに .ruby-version ファイルが生成されるので rbenv はこれを参照して指定のバージョンを利用する仕組み。

fish shell によるパス設定

bash を使ってる場合 ~/.bash_profile を編集する『パスを通す設定』が煩わしい。でも fish shell ならプラグインをインストールするだけ。

$ fisher install rbenv
$ fisher install pyenv
$ fisher install oh-my-fish/plugin-nodenv

自分で設定ファイルを vi とかで修正する必要がない。

Node.js のバージョン管理ツールいろいろ

余談。nodenv の存在に気づくまでは nodebrew を使っていた。

だいたい同じだけど、カレントディレクトリだけ特定のバージョンを利用する機能はない。

(あと nodebrew は指定バージョンのインストールで v10.11.0 みたいに v を付けるが、nodenv 系は付けない点に注意。)

$ nodebrew ls-remote
$ nodebrew install-binary v10
$ nodebrew ls
$ nodebrew use v10
$ nodebrew uninstall v10
$ nodebrew selfupdate

nodenv と同じ env 系のバージョン管理ツールとして ndenv というものもあるが、こっちはもうメンテナンスされてないので使わない。

nodeenv という一文字違いの紛らわしいものもあるが、まったくの別系統のようだ。ちなみに Node.js を最初に使い始めた 5 年くらい前は nvm を使っていた気がする。

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9