Rails6がリリースされ、Webpackがデフォルトになりましたね。
その為、リリースする際には ruby
と node
が必要になります。
今回は、この2つを簡単にインストールでき、かつバージョン管理ができる anyenv
をご紹介します。
ec2インスタンスを作ったばかりの場合は、以下の記事で初期設定が終わってから、こちらに戻ってきてくださいね!
AWS Amazon EC2 初期設定 | AmazonLinux2を立ち上げたら最初にすべき10の設定 [sshログイン〜ec2-userの削除まで]
AWS Aamazon Linux 2 にanyenv | rubyenv 〜 nodenvインストールまで!
anyenvとは
anyenvは、〇〇envを管理する為の便利なツールです。
今回は、このanyenvを使って
- rubyenv
- nodenv
の2つのenvツールをインストールしたいと思います。
最初にサーバーにインストールするのは面倒ですが、
- rubyのバージョンアップ
- nodeのバージョンアップ
の可能性があるなら、最初に入れておかない手はないですよね。
anyenvのインストール
yum更新
$ sudo yum update -y
gitのインストール
$ sudo yum install git -y
anyenvをgit cloneする
[注意]:anyenv製作者のRyosuke IWANAGAさんが新たにanyenvのgithubリポジトリを作成されました。
旧リポジトリ:https://github.com/riywo/anyenv
新リポジトリ:https://github.com/anyenv/anyenv
$ cd /usr/local
$ git clone https://github.com/anyenv/anyenv
anyenvフォルダの権限を変更
$ sudo chgrp -R wheel anyenv
$ sudo chmod -R g+rwxXs anyenv
環境変数の設定
- シェルの作成
$ cd /etc/profile.d/ $ sudo vi anyenv.sh export ANYENV_ROOT="/usr/local/anyenv" export ANYENV_DEFINITION_ROOT="/usr/local/anyenv/share/anyenv-install" export PATH="${ANYENV_ROOT}/bin:${PATH}" eval "$(anyenv init --no-rehash -)"
- シェルに読み込ませる
$ exec $SHELL -l
anyenv インストール
$ anyenv install --init
$ exec $SHELL -l
インストール確認
$ anyenv --version
anyenv 1.1.1
$ which anyenv
/usr/local/anyenv/bin/anyenv
anyenvのプラグインをインストールする「plugins」ディレクトリの作成
今回はanyenv-updateプラグインとanyenv-gitプラグインの2つをインストールするので、先にそれらのプラグインをインストールする「plugins」ディレクトリを.anyenv以下に作成しておきます。
$ mkdir -p /usr/local/anyenv/plugins
anyenv-updateプラグインのインストール
anyenv updateコマンドでanyenvで入れた**env系の全てをアップデートしてくれるプラグインです。
$ git clone https://github.com/znz/anyenv-update.git /usr/local/anyenv/plugins/anyenv-update
anyenv-gitプラグインのインストール
anyenv gitコマンドでanyenvで入れた**env系の全てのgitコマンドを実行するプラグインです。
$ git clone https://github.com/znz/anyenv-git.git /usr/local/anyenv/plugins/anyenv-git
anyenv-gitの使い方
$ anyenv git pull //anyenvでインストールした全てのenv系とインストールされているプラグインのアップデート
$ anyenv git gc //ガーベージコレクション(お掃除)
$ anyenv git remote -v //全てのリモートリポジトリを表示
$ anyenv git status //gitのステータス表示
以上でanyenvのインストールおよびanyenvを快適に使用するプラグインのインストールは完了です。
確認
以下のコマンドを打って、インストールできるenv系のリストが表示されてればOKです。
$ anyenv install -l
Renv
crenv
denv
erlenv
exenv
goenv
hsenv
jenv
luaenv
nodenv
phpenv
plenv
pyenv
rbenv
sbtenv
scalaenv
swiftenv
tfenv
rbenvのインストール
必要なツールのインストール
$ sudo yum -y install gcc-c++ openssl-devel git readline-devel
anyenv経由でrbenvをインストールします。
$ anyenv install rbenv
シェルに読み込ませる
$ exec $SHELL -l
インストール出来たか確認。
※ Warningは、まだrbenvでインストールされているrubyがないので警告されてるだけです。
$ anyenv versions
rbenv:
Warning: no Ruby detected on the system
インストール可能なrubyのバージョンを確認
$ rbenv install --list-all
rubyインストール
$ rbenv install 2.6.6
$ rbenv global 2.6.6
$ rbenv rehash
$ rbenv versions
* 2.6.6 (set by /usr/local/anyenv/envs/rbenv/version)
nodenv のインストール
$ anyenv install nodenv
$ exec $SHELL -l
インストール可能なnodeのバージョンを確認
$ nodenv install -l
nodeインストール
$ nodenv install 12.16.1
$ nodenv global 12.16.1
$ nodenv rehash
$ nodenv versions
* 12.16.1 (set by /usr/local/anyenv/envs/nodenv/version)
※ 以下のエラーが出た場合は、default-packagesを作成して上げれば良いそうです。
Installed node-v12.16.1-linux-x64 to /usr/local/anyenv/envs/nodenv/versions/12.16.1
nodenv: default-packages file not found
$ touch /usr/local/anyenv/envs/nodenv/default-packages
$ nodenv install 12.16.1
Installed default packages for 12.16.1
yarnのインストール
rails6だとyarnも必要なのでインストールします。
$ npm install yarn -g
$ cp -a /usr/local/anyenv/envs/nodenv/shims/{node,yarn}
$ yarn -v
1.22.4
まとめ
今回は、AWSのAmazon Linux2にanyenvをインストールし、
- rubyenv
- nodenv
をインストールしてみました。
メンテナンスコスト考えれば、入れていおいた方が良いように思います。
また、最近ではanvible等のサーバーインストールもコードで管理する時代になりましたので、もっと便利な方法を模索していきたいですね!
コメント