LoginSignup
150
152

More than 5 years have passed since last update.

Mac に anyenv でサクッとマルチ開発環境構築

Last updated at Posted at 2015-08-24

はじめに

今まで開発環境 (Ruby|Node) を Chef + Vagrant を使って VM を構築してそこで開発していたんだけど、プロジェクトを切り替えるとき、
いちいち VM を立ち上げ直すのが、すげーめんどいし、時間もかかってたので、調べたら anyenv というめちゃ便利なツールがあったので、
インストールした時のメモ。

anyenv とは、ざっくり言うと、rbenv とか、nbenv とか複数バージョンをインストールできる **env 系をまとめて管理できるツール。

自分だと Mac の環境を汚さず、プロジェクト毎にバージョンを切り替えて開発したかったので、
Vagrant を使ってたんだけど、プロジェクトが増えてきて、VM の数が 4 つとか、5 つになってくると、
VM の立ち上げ直しだけでも限界を感じて、anyenv に切り替えた。

anyenv のインストール (bash)

$ git clone https://github.com/riywo/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l                                                    # シェルの再起動

対応言語

色々な言語に対応しているので、色んな言語をチョット触ってみたいときにもすげー便利
下記コマンドでインストールできる言語の一覧が取得できる

$ anyenv install -l
Available **envs:
  Renv     # R
  crenv    # Crystal
  denv     # D
  erlenv   # Erlang
  exenv    # Elixir
  goenv    # Go
  hsenv    # Haskell
  jenv     # Java
  luaenv   # Lua
  ndenv    # Node.js
  nenv     # Node.js
  nodenv   # Node.js
  phpenv   # PHP
  plenv    # Perl
  pyenv    # Python
  rbenv    # Ruby
  sbtenv   # Scala

プラグインのインストール

プラグイン用のフォルダを作成

$ mkdir -p $(anyenv root)/plugins

anyenv-update のインストール

anyenv-update は、インストールされている **env を update するためのプラグイン

$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update

anyenv-git のインストール

anyenv-git は、anyenv で git のコマンドを実行できるようにするためのプラグイン

$ git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git

各種言語のインストール

Node.js 用の ndenv をインストール

$ anyenv install ndenv
var/folders/5h/wz7wkvzs45q6vkp3p7x2g9w00000gn/T/ndenv.20150825004228.37677 ~
Cloning https://github.com/riywo/ndenv.git...
Cloning into 'ndenv'...
remote: Counting objects: 58, done.
remote: Total 58 (delta 0), reused 0 (delta 0), pack-reused 58
Unpacking objects: 100% (58/58), done.
Checking connectivity... done.
~
~/.anyenv/envs/ndenv/plugins ~
Cloning https://github.com/riywo/node-build.git...
Cloning into 'node-build'...
remote: Counting objects: 59, done.
remote: Total 59 (delta 0), reused 0 (delta 0), pack-reused 59
Unpacking objects: 100% (59/59), done.
Checking connectivity... done.
~

Install ndenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.
$ exec $SHELL -l
$ ndenv -v
ndenv 0.4.0-2-gc669ff2

Ruby 用の rbenv をインストール

$ anyenv install rbenv
/var/folders/5h/wz7wkvzs45q6vkp3p7x2g9w00000gn/T/rbenv.20150825005513.39176 ~
Cloning https://github.com/sstephenson/rbenv.git...
Cloning into 'rbenv'...
remote: Counting objects: 2075, done.
remote: Total 2075 (delta 0), reused 0 (delta 0), pack-reused 2075
Receiving objects: 100% (2075/2075), 352.35 KiB | 262.00 KiB/s, done.
Resolving deltas: 100% (1266/1266), done.
Checking connectivity... done.
~
~/.anyenv/envs/rbenv/plugins ~
Cloning https://github.com/sstephenson/ruby-build.git...
Cloning into 'ruby-build'...
remote: Counting objects: 5015, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5015 (delta 0), reused 0 (delta 0), pack-reused 5009
Receiving objects: 100% (5015/5015), 930.56 KiB | 310.00 KiB/s, done.
Resolving deltas: 100% (2706/2706), done.
Checking connectivity... done.
~

Install rbenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.
$ exec $SHELL -l
$ rbenv -v
rbenv 0.4.0-153-g3b6faa8

Node.js をインストール

現在の最新バージョンの v0.12.7 をインストール

$ ndenv install 0.12.7
Downloading node-v0.12.7-darwin-x64.tar.gz...
-> https://nodejs.org/dist/v0.12.7/node-v0.12.7-darwin-x64.tar.gz
Installing node-v0.12.7-darwin-x64...
Installed node-v0.12.7-darwin-x64 to /Users/yutatakuman/.anyenv/envs/ndenv/versions/0.12.7
$ anyenv versions # 現在インストールされているバージョンの一覧を取得
ndenv:
* 0.12.7 (set by /Users/yutackall/.anyenv/envs/ndenv/version)
rbenv:
* system (set by /Users/yutackall/.anyenv/envs/rbenv/version)
$ which npm # npm の確認
/Users/yutackall/.anyenv/envs/ndenv/shims/npm

Ruby をインストール

今回は、system にインストールされているバージョンをそのまま使用するためスキップ

global の設定

global で使用するバージョンを指定

$ ndenv global 0.12.7
$ rbenv global system  # Ruby は Mac にインストールされている Ruby を使用
$ anyenv versions
ndenv:
* 0.12.7 (set by /Users/yutackall/.anyenv/envs/ndenv/version)
rbenv:
* system (set by /Users/yutackall/.anyenv/envs/rbenv/version)

anyenv のコマンド一覧

コマンド 概要
commands 使用できるコマンド一覧を表示
completions 入力補完のコマンド??
envs 使用できる **env の一覧を表示
git インストールしたプラグインや、**env に対して git コマンドをそのまま実行できる
プラグインによる追加
global グローバルで使用しているバージョンを表示
help ヘルプを表示
init anyenv の初期化
プロファイルの読み込み時に実行される
install 後ろのコマンドに **env を入れるとインストール
-l のオプションをつけるとインストールできる **env の一覧が表示される
local ローカルのアプリケーションで使用しているバージョンを表示
root anyenv の root のパスを表示
update インストールした **env のアップデートを実行
プラグインによる追加
version **env 毎に現在のバージョンを表示
versions **env 毎に使用できる全てのバージョンを表示
150
152
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
150
152