anyenvで開発環境がスッキリした

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

こんにちは、技術1課の千葉です。

わたしたちサーバーワークスは「作らないSIer」と称して、アプリケーション開発をできるだけ避けつつもお客様の要望は出来るだけ満たす、という新しいチャレンジを行っています。

実際は何も作りません。ってことではなく、本当に必要なものだけを丁寧に作り品質を維持しつづけると言った考えになります。
「作らないSIer」の詳細については『作らないSIerの代表がDevLOVE代表と対談した話』の記事をご覧ください。

例えば、 AWS IoT から取得したセンサーデータを Kinesis Firehose で受けて AWS Lambda で、ちょっと複雑な計算処理をさせて Redshift に格納する。なんてケースでは開発をお手伝させて頂きます。

私事ですが、今月で技術1課に異動して1年が経ちました。
ありがたいことに、お手伝いさせて頂くプロジェクト数が順調に増えており、プロジェクト毎に利用する言語 / バージョンもバラバラで Ruby は rbenv, Python は pyenv を使って、プロジェクト毎に利用する言語のバージョンを管理していました。
今回は新たに node.js を使うことになったので『 ndenv を入れるんだな、zshrc が増えてウンザリ』と思っていたところにみつけたのが、今回ご紹介させていただく anyenv です。コレすごいんです!

# anyenv ができること

ざっくり説明すると↓こちらの言語の **env をまとめて管理することが可能になります。
これまでは、その都度リポジトリからcloneして、zshrc を編集して。ってインストール作業が必要でしたが、これからはコマンドひとつで利用できるようになります。

# anyenv のつかいかた

インストールもとってもカンタンです。(他の **env とほとんど一緒)

使い方は **env のインストール以降は、これまでどおりの手順と一緒です。
以下の例では pyenv をインストールして AWS Lambda の開発用に Python 2.7.11 の実行環境を準備しています。

また、 pyenv-virtualenv といったプラグインをインストールするディレクトリは /home/xxxxx/.anyenv/envs/pyenv/plugins のように、これまでと階層が変わることにもご注意ください。
以下の例では、pyenv-virtualenv をインストールしています。

# まとめ

ひとつの開発プロジェクトに、じっくりと腰を据えていた頃には必要ありませんが、わたしのように複数案件の開発を並行しているような状況であればとっても便利になると思います。

以上、もっと早く気付ければよかったな。と思ったのでブログにしてみました。

AWS運用自動化サービス「Cloud Automator」