gamiyama3110 / gamiyama.github.io

技術ブログ(の予定)【動かん】
0 stars 0 forks source link

wsl:Ubuntuに古いruby環境を構築 #22

Open gamiyama3110 opened 1 year ago

gamiyama3110 commented 1 year ago

Install

必要なミドルウェアをaptで揃える。(dockerにできたらいいよね)

ruby 2.3

rbenv でrubyのバージョン管理する。

note

# aptから入れるとruby-buildのバージョンが古くてruby3が入れられない。
# rbenvのバージョンも1.1.1から更新できないので手動で入れる。
## sudo apt install rbenv

rbenvruby-build をgitから取得する。

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

.bashrc に追記。

$ grep rbenv .bashrc
eval "$(~/.rbenv/bin/rbenv init - bash)"

# wslに再ログインするとrbenvのpathが通ってるはず
$ rbenv -v
rbenv 1.2.0-48-g6717c62

必要なrubyバージョンをインストール。

$ rbenv install 2.3.5
$ rbenv global 2.3.5

# 最新安定版をインストールしてglobalにしてもいい。

bundler

gem でインストールする。

$ gem install bundler

※ rbenvでversionを変更した場合、再度、 bundler のインストールが必要。

rubyが古いので警告が出る。

$ bundle -v
Your RubyGems version (2.5.2.3) has a bug that prevents `required_ruby_version` from working for Bundler. Any scripts that use `gem install bundler` will break as soon as Bundler drops support for your Ruby version. Please upgrade RubyGems to avoid future breakage and silence this warning by running `gem update --system 3.2.3`
Bundler version 2.3.26

mysql 5.7

clientがあればいいだけっぽいので、必要そうなものだけ入れる。

$ sudo apt list libmysqlclient-dev -a
一覧表示... 完了
libmysqlclient-dev/focal-updates 8.0.31-0ubuntu0.20.04.2 amd64
libmysqlclient-dev/focal-security 8.0.31-0ubuntu0.20.04.1 amd64
libmysqlclient-dev/focal 8.0.19-0ubuntu5 amd64

mysql の5系がないとき。

$ echo 'deb http://security.ubuntu.com/ubuntu xenial-security main' | sudo tee /etc/apt/sources.list.d/xenial-security.list
$ sudo apt update
$ sudo apt list libmysqlclient-dev -a
一覧表示... 完了
libmysqlclient-dev/focal-updates 8.0.31-0ubuntu0.20.04.2 amd64
libmysqlclient-dev/focal-security 8.0.31-0ubuntu0.20.04.1 amd64
libmysqlclient-dev/focal 8.0.19-0ubuntu5 amd64
libmysqlclient-dev/xenial-security 5.7.33-0ubuntu0.16.04.1 amd64

5系のインストールして、バージョンアップしないようにholdしとく。

$ sudo apt install libmysqlclient-dev=5.7.33-0ubuntu0.16.04.1
$ sudo apt-mark hold libmysqlclient-dev