1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

私の開発環境 *env系まとめ

Posted at

私の開発環境 *env系まとめ

この記事のモチベーション

自分の開発環境を上手に構築管理出来る事は、大事な事だと思います。

プログラミング言語のバージョン管理をpyenvやrbenv、ndenvなどで管理しているが
以前は、それぞれインストールしてごちゃごちゃしていました。

チームのメンバーともこの様な環境構築の方法を統一していると
サポートもしやすいです。

そこで・・・
・それぞれのバージョン管理ツールのインストール方法を統一する
・どのバージョンに設定しているのか、どのバージョンが入っているのかを確認しやすくする

と言う事で、*env系をまとめて確認できる「anyenv」を使っています。

anyenvのインストール

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

anyenvで、*env系をインストールするので、インストール方法も統一され簡単

$ anyenv install rbenv
$ anyenv install pyenv
$ anyenv install ndenv

あとはいつもの様に、*envから使いたいバージョンをインストール

$ ndenv install v7.10.0
$ pyenv install 3.6.0
$ rbenv install 2.4.1

PJ毎のバージョン指定は、「.xxx-version」ファイルで

project/.node-version
16.16.0
project/.python-version
3.9.13

他にも、phpenvなど多数あります。

$ anyenv install -l
  Renv
  crenv
  denv
  erlenv
  exenv
  goenv
  hsenv
  jenv
  jlenv
  kubectlenv
  luaenv
  nodenv
  phpenv
  plenv
  pyenv
  rbenv
  sbtenv
  scalaenv
  swiftenv
  tfenv

Azure Functions Core Tool の複数バージョンを切り替えるツールには、「funcvm」を使う

このツールは 当時 Azure Functions の開発チームの中の人だった人が作ったものだそうです。
Node.js で動くので、環境に Node.js がインストールされていない場合は先に Node.js のインストールが必要です。
anyenv+nodenvで準備すれば簡単ですね!

funcvmをインストール

$ npm install -g @anthonychu/funcvm

Azure Functions Core Tool インストール

$ funcvm install 4

PJ毎のバージョン指定は、「.func-version」ファイルで

project/.func-version
4.0.4736

おしまい

特に環境トラブルは大きな時間を取られる事が多いので
自分だけでなくチームで整理した方が幸せになれるかと思います。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?