Macのローカル環境をバージョンアップしまくるまとめ

## 概要

基本的に、ローカル環境のバージョンは stable にしておきたい。古いバージョンや latest などを使う場合は、rbenv や pyenv などで切り替えるかコンテナを使う方針。必要に応じてやれば良いが、それぞれの update/upgrade の方法を全部覚えてたりしないので、必要そうなものをメモしておく。

私は、ベトナムのオフショア開発会社にいて、自分自身は開発はほとんどしないが、レビューしたりするので色々入ってる。

## 実行環境
- MBP 13-inch, 2017
- macOS Mojave v10.14.6
- iterm2 Build 3.3.6

2019年11月6日に実行

## 今回 version up するもの
- homebrew
- git
- php & composer
- node.js & npm
- ruby
- go
- python & pip3
- awscli
- docker
- Java

ベトナムのWeb系開発会社で必要なのは、だいたいこんなもの。



## homebrew
バージョン確認方法

```
brew -v
```

homebrew 自体の更新

```
brew update
```

homebrewで管理しているものの更新

```
brew upgrade
brew cleanup -n
```

など。ちょっと乱暴な気もするけど。困ったら Doctor
他、brew コマンドは、以下を参照。
> [Homebrew使い方まとめ](https://qiita.com/vintersnow/items/fca0be79cdc28bd2f5e4)


## git
mac にデフォルトで入っている git はバージョンをこちらでコントロールできないので、homebrew で入れ直しておく。詳しくは、

> [How to upgrade Git (Mac OSX)](https://medium.com/@katopz/how-to-upgrade-git-ff00ea12be18)

バックアップはうまくいかないかも知れない。

バージョン確認方法

```
git --version
```

更新方法

```
brew upgrade git
```



## php & composer
### php

バージョン確認方法

```
php -v
```

更新方法

```
brew upgrade php
```

### composer
バージョン確認方法

```
composer -v
```

更新方法

```
composer self-update
```


## node.js & npm
私は、nodebrew で管理しているので、そのやり方。いつか n に切り替えるかも。

### nodebrew
nodebrew のバージョン確認方法

```
nodebrew -v
```

nodebrew 自体の更新

```
nodebrew selfupdate
```

### node.js
node.js のバージョン確認方法

```
node -v
```

node.js の stable の確認
> [Node.js](https://nodejs.org/en/)

現時点は、```v１２．１３．０``` でした。

インストールできるか確認

```
nodebrew ls-remote
```

出来るのでインストール

```
nodebrew install-binary v12.13.0
```

インストールされているバージョンの確認

```
nodebrew ls
```

current になっているものがいま選択されているもの
インストールしたものに切り替え

```
nodebrew use v12.13.0
```
### npm
バージョン確認方法

```
npm -v
```

アップグレード方法

```
npm install -g npm
```

## ruby
ruby のバージョン確認方法

```
ruby -v
```

ruby の stable の確認

```
brew info ruby
```

> [Ruby ダウンロード](https://www.ruby-lang.org/ja/downloads/)

現時点は、```v２．６．５``` でした。

私は rbenv で管理していて、rbenv は homebrew で管理しているので、rbenv にて。
rbenv 自体のバージョン管理は、homebrew で。念の為これだけ更新するには…

```
brew upgrade rbenv ruby-build
```

インストールできるか確認

```
rbenv install --list
```

出来るのでインストール

```
rbenv install 2.6.5
```

インストールされているバージョンの確認

```
rbenv versions
```

\* がついているものがいま選択されているもの
インストールしたものに切り替え。今回は全体に適用

```
rbenv global 2.6.5
```

特定のプロジェクトに適用したい場合は、global の代わりに該当プロジェクトにて local

## go
今の所必要性を感じないので、バージョンの切り替えは出来るようにはしていないが、必要なら goenv を brew でインストールして、後は、rbenv, pyenv と一緒。

バージョン確認方法

```
go version
```

更新方法

```
brew upgrade go
```


## python & pip3
### python
pyenv で管理しているので、それで。pyenv 自体の更新は、homebrew にて。

python のバージョン確認方法

```
python --version
```

python の stable の確認

```
brew info python
```

> [Python ダウンロード](https://www.python.org/downloads/)

現時点は、```v3.8.0``` でした。brew info で出てくるのは、```３．７．５``` ですが、```3.8.0``` は３週間前に出たばっかりだし、私は pyenv で管理しているので気にしないことにします。

インストールできるか確認

```
ｐｙenv install --list
```

出来るのでインストール

```
pyenv install 3.8.0
```

インストールされているバージョンの確認

```
pyenv versions
```

\* がついているものがいま選択されているもの
インストールしたものに切り替え。今回は全体に適用

```
pyenv global 3.8.0
```

### pip3
上記で python を入れ直した場合は不要。 pip3 単体で更新したい場合

バージョン確認方法

```
pip3 --version
```

更新方法

```
pip3 install --upgrade pip
```

管理しているパッケージは

```
pip3 list
```

で確認できるので、適宜更新しましょう。

## awscli
バージョン確認方法

```
aws --version
```

アップグレード方法
pip3 でインストールしたので、その方法

```
pip3 install awscli --upgrade --user
```

AWS の公式に、--user オプションがついていたので、最初にインストールした時に素直に従いましたが、良きように変えてください。
なお、--user でインストールすると、~/.local にインストールされるので、何か反映されない…みたいな場合は、.bash_profile 等でパスが通っているか確認してください。


インストーラーの場合は、公式参照

> [macOS に AWS CLI をインストールする](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-macos.html)

なお、Python のバージョンには気をつけましょう。

> 2020 年 1 月 10 日に、AWS CLI バージョン 1.17 以降で、Python 2.6 または Python 3.3 のサポートが終了します。この日以降、AWS CLI のインストーラで AWS CLI を正しくインストールするには、Python 2.7、Python 3.4、またはそれ以降のバージョンが必要になります。


## docker
ダウンロードで。なんか自動アップデートが失敗するようになったので、手動で。放置されて古いままになりがち。

> [Docker Desktop for Mac](https://hub.docker.com/editions/community/docker-ce-desktop-mac)

コマンドでのバージョン確認方法

```
docker -v
docker-compose -v
```

## Java
システム環境＞Java＞更新＞更新の確認
うまく行かなければ、公式からダウンロード
> [Java SE Development Kit 8 - Downloads](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

コマンドでのバージョン確認方法

```
java --version
```


## 本日最終的なバージョン

|item|command|version|
|:-:|:--|:--|
|homebrew|brew -v|2.1.16|
|git|git --version|2.24.0|
|php|php -v|7.3.11|
|composer|composer -v|1.9.1|
|nodebrew|nodebrew -v|1.0.1|
|node.js|node -v|v12.13.0|
|npm|npm -v|6.13.0|
|ruby|ruby -v|2.6.5p114|
|rbenv|rbenv -v|1.1.2|
|go|go version|1.13.4|
|python|python --version|3.8.0|
|pyenv|pyenv -v|1.2.15|
|pip3|pip3 --version|19.3.1|
|awscli|aws --version|aws-cli/1.16.274 Python/3.8.0...|
|docker|docker -v|19.03.4|
|docker-compose|docker-compose -v|1.24.1|
|java|java --version|12.0.1|