macOSでanyenvの環境をつくる

もういろいろな開発が山程あってバージョンもあって辟易しているんじゃないですかね。もうanyenvを使う以外の選択肢は全くなくなった気がします。あるいは全部コンテナ化しちゃうか。そういう時代です。anyenvとはなんぞや?という方はこの情報は必要ないもしれないので、インストールの必要ないです。
とりあえず、node.js python, go, phpを頻繁に使うのでこれらのenvは必ず必要ということでanyenvになります。https://github.com/anyenv/anyenv

anyenv

mac環境ということでzshを使う前提でインストールしてゆきます。ここ最近でだいぶアップデートされたっぽいので詳しい情報は本家のドキュメントを読んでおいたほうがよいと思います。

インストール

brewでインストールできるので、簡単です。

$ brew install anyenv
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
$ anyenv init
$ exec $SHELL -l # シェルを再起動
$ anyenv install --init

より最新のanyenvが必要だったりbugfixやブランチが必要な場合はgithubからインストールした方がよいです。(個人的には断然こっちをおすすめします。)2021-09-19現在ではanyenv 1.1.4です。

$ git clone https://github.com/anyenv/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
$ ~/.anyenv/bin/anyenv init
$ exec $SHELL -l
$ anyenv install --init 

cloneすると.anyenvというディレクトリが作成されます。それぞれパスを通してやってevelを追記します。
以下実行するとanyenv install --init を実行しなさいということで実行して完了です。

$ exec $SHELL -l
ANYENV_DEFINITION_ROOT(/Users/USER_NAME/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init

githubでcheckoutするかみたいなメッセージはyesにしておいてよいです。
これで完了。

ときどき

$ cd ~/.anyenv
$ git pull

してやります。(後述のanyenv-gitをインストールすると別のコマンドになります。)
一応バージョン確認しておきましょう。

$ anyenv --version
anyenv 1.1.4

anyenvの便利なツールをインストールしておく。

あってもなくてもよいですが、あった方がよいです。

  • anyenv-updateプラグイン
  • anyenv-gitプラグイン

anyenv-updateプラグイン

anyenv updateコマンドでanyenvで入れた**env系の全てをアップデートしてくれるプラグインです。デフォルトではこのコマンドは使えません。ちなみにanyenvの方の.gitignoreにはpluginsが書かれていたので、問題なかったです。

$ mkdir -p ~/.anyenv/plugins
$ git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update

これでanyenv updateが使えるようになります。このコマンドも時々実行しておきましょう。

anyenv-gitプラグイン

$ git clone https://github.com/znz/anyenv-git.git ~/.anyenv/plugins/anyenv-git

これでanyenvの全部とガベージコレクションなどの最適化を行うことができます。

$ anyenv git pull (更新)
$ anyenv git gc (ガベージコレクションの最適化)

これも時々やっておきましょう。

phpをインストールする

指定のディレクトリ以下でphpが使えるようにしてみます。phpのどんどんバージョンアップしていっちゃうので、バージョンアップが大変ですね。

$ cd /PATH/
$ anyenv install phpenv

これでOKです。anyenvでインストールするとphp-buildも一緒にインストールしてくれます。
一応シェルをリフレッシュしておきます。

$ exec $SHELL -l

いろいろ確認してみます。

$ php --version
WARNING: PHP is not recommended
PHP is included in macOS for compatibility with legacy software.
Future versions of macOS will not include PHP.
PHP 7.3.24-(to be removed in future macOS) (cli) (built: Jun 17 2021 21:41:15) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies

デフォルトだとPHP 7.3が入るみたいですね。後ほど8を入れてみます。

phpのバージョン管理

Coming soon.

node.jsをインストールする

例によってこちらで一覧を出すと、

$ anyenv install -l
...
nodenv
...

というものがあるので、これをインストールします。

$ anyenv install nodenv
$ exec $SHELL -l

/.anyenv/envs/nodenvが入ります。
anyenv->nodenvというクラスターなので、今度は利用したnodeのバージョンを特定のディレクトリのみにインストールします。通常のシステムと同様にグローバルを基本にローカルのバージョンがオーバーライドするというような仕組みになってます。anyenvやnodenvを使うということは、開発でバージョンを切り替えるということが多くなるわけなので、当然localの方がよく使うことにはなりますよね。
2021-09-19現在で最新のnodeをインストールします。

$ cd /PROJECT_DIR/
$ nodenv local 16.9.1

同時にnpmもインストールされます。

$ node --version
v16.9.1
$ npm --version
7.21.1

これでOK!


  • News

  • Categories

  • Tags

  • Archives

  • Page index