gitkadoの気まぐれ日記

島根在住エンジニアが何かに興味を持ったらブログを更新します

Cloud9のミドルウェア更新

はじめに

AWSCloud9がめちゃめちゃ便利!
必要なミドルウェアがほぼほぼ揃ってるのが非常にありがたい!
ただ想定バージョンではない場合が結構あるので、以下に更新方法書いていきます。

Ruby

  • デフォルトだとRuby2.6.0が入っている(20190701時点)
  • LambdaをCloud9で開発するケースではRuby2.5.0であってほしい
$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
$ rvm install 2.5.0
Searching for binary rubies, this might take some time.
[割愛]
Install of ruby-2.5.0
# デフォルト設定しないとインスタンス再起動のたびに設定が必要になる
$ rvm --default use 2.5.0
Using /home/ec2-user/.rvm/gems/ruby-2.5.0
$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

Python

  • 標準で3.6.8になってました(20200108時点)

pip

  • pip install --upgrade pip実行すると以降pipがエラーになることがある
  • キャッシュ的な奴が原因らしいので対応する必要がある
$ pip --version
bash: /usr/bin/pip: No such file or directory
$ hash -r

Go

  • goenvでGoを使うことにした
# goenvを取得
$ git clone https://github.com/syndbg/goenv.git ~/.goenv
# 末尾に以下の3行を追記して保存
$ vi ~/.bashrc
export GOENV_ROOT=$HOME/.goenv
export PATH=$GOENV_ROOT/bin:$PATH
eval "$(goenv init -)"
# 再読み込み
$ . ~/.bashrc

# インストール可能なgoのversion一覧表示
$ goenv install -l
# versionを指定してgoをインストール
$ goenv install 1.13.7
# 使用するgoのversionを設定
$ goenv global 1.13.7
$ goenv rehash
# 末尾に以下の3行を追記して保存
$ vi ~/.bashrc
  GOPATH=~/environment/go
  export GOPATH
  PATH=$PATH:$GOPATH/bin
$ . ~/.bashrc

# 確認
$ go version
go version go1.13.7 linux/amd64

aws-sam-cli

  • SAMを使いたかった
  • デフォルトだとSAM 0.8.0が入っている
$ sam --version
Deprecated : AWS SAM CLI no longer supports installations on Python 2.7. Install AWS SAM CLI via https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html for continued support with new versions. 
SAM CLI, version 0.8.0

$ npm uninstall -g aws-sam-local
up to date in 0.056s

$ pip install --user --upgrade aws-sam-cli
Collecting aws-sam-cli
[割愛]
Successfully installed Flask-1.0.4 MarkupSafe-1.1.1 PyYAML-5.2 Werkzeug-0.16.0 arrow-0.15.4 attrs-19.3.0 aws-lambda-builders-0.6.0 aws-sam-cli-0.39.0 aws-sam-translator-1.19.1 binaryornot-0.4.4 boto3-1.10.46 botocore-1.13.46 certifi-2019.11.28 chardet-3.0.4 chevron-0.13.1 click-7.0 cookiecutter-1.6.0 dateparser-0.7.2 docker-4.1.0 docutils-0.15.2 future-0.18.2 idna-2.8 importlib-metadata-1.3.0 itsdangerous-1.1.0 jinja2-2.10.3 jinja2-time-0.2.0 jmespath-0.9.4 jsonschema-3.2.0 more-itertools-8.0.2 poyo-0.5.0 pyrsistent-0.15.6 python-dateutil-2.8.0 regex-2019.12.20 requests-2.22.0 s3transfer-0.2.1 serverlessrepo-0.1.9 tomlkit-0.5.8 tzlocal-2.0.0 urllib3-1.25.7 websocket-client-0.57.0 wheel-0.33.6 whichcraft-0.6.1 zipp-0.6.0

$ sam --version
Deprecated : AWS SAM CLI no longer supports installations on Python 2.7. Install AWS SAM CLI via https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html for continued support with new versions. 
SAM CLI, version 0.23.0
  • 標準で0.38.0になってました(20200108時点)

docker-compose

  • 最新版1.25.0をインストール(20191121時点)
  • docker-composeのリリース履歴はこちら
$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

まとめ

こんなに簡単に開発環境を整えられるのはやはり強み。
本記事は気まぐれで随時更新していきます。