#author("2021-01-08T06:25:59+00:00","default:src128","src128")
#author("2022-01-16T12:58:32+00:00","default:src128","src128")
&tag(rbenv);
*目次 [#wce0ab78]
#contents
*参考情報 [#w3228fc4]
-[[rbenvで複数のバージョンのrubyを使用する環境を整える - memo.yomukaku.net:http://memo.yomukaku.net/entries/ApoFwmf]]
-[[RVM で Ruby1.9.3 がうまく動いてくれないので、『rbenv』に乗り換えてみた - 牌語備忘録 - pygo:http://d.hatena.ne.jp/CortYuming/20120606/p1]]
-[[rbenvインストール及び、とても便利なプラグイン | 答えを知りたい:http://programming.ironsand.net/2014/rbenv-and-plugins-install/]]
-[[Rails]]
-[[CentOS6/rbenv]]
*インストール [#lf25ef40]
-ホームディレクトリでgit clone
#pre{{
$ cd
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
}}
-rcファイルを編集(.zshrcとか)
#pre{{
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
}}
-ruby-buildをインストール。
 git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
-rbenv rehashを自動化
 git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
-rbenv updateを実行可能に
 git clone https://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update
-rubyインストール時にbunlderも同時にインストール可能にする。
 git clone https://github.com/sstephenson/rbenv-default-gems.git ~/.rbenv/plugins/rbenv-default-gems
-- "~/.rbenv/default-gems"を開き、bundlerを追加
 echo bundler > ~/.rbenv/default-gems
*使用方法 [#x9a20a99]

**rbenv自体を更新 [#w0d0c13f]
-gitでダウンロードいた場合以下のコマンドで更新できる。
#pre{{
$ cd ~/.rbenv
$ git pull
$ cd ~/.rbenv/plugins/ruby-build
$ git pull
}}
**インストール可能なバージョンを取得 [#ke334ec2]
-以下のコマンドを実行
 rbenv install --list

**インストール済みのバージョンを取得 [#k7c015a0]
-以下のコマンドを実行
 rbenv versions
**rubyのインストール(MacPorts) [#x73c2c19]

***2022年初頭 [#h86621a4]
-MacPortsがopenssl3に移行したのに対し、Rubyがopenssl3に対応していない。このため以下のコマンドラインが必要。[[MacPorts+rbenvを使用してRubyをビルドする方法【2022年初頭編】 | src256ログ:https://srcw.net/archives/732]]
 PKG_CONFIG_PATH=/opt/local/libexec/openssl11/lib/pkgconfig RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/local/libexec/openssl11 --with-readline-dir=/opt/local" rbenv install 3.0.3

***古い方法 [#ndfe8745]
-opensslや、readlineが必要かも。MacPortsは以下のようにしてインストールする。
#pre{{
$ sudo port install openssl
$ sudo port install readline
$ RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/local --with-readline-dir=/opt/local" rbenv install 1.9.3-p429
$ sudo rbenv rehash
}}


**rubyのインストール(Homebrew) [#zf0647aa]
#pre{{
$ brew install openssl readline
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 1.9.3-p429
$ rbenv rehash

}}

**rubyのインストール(Ubuntu 20.04) [#d5c1241e]
-以下のコマンドで必要なライブラリをインストールしておく。 https://github.com/rbenv/ruby-build/wiki
 apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
 #以下も必要かも(ImageMagick、MySQL、SQLite3)、
 sudo apt install imagemagick libmagickcore-dev libmagickwand-dev libmysqlclient-dev libsqlite3-dev
-以下もインストール。rakeで「ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime.」がでるので。
 sudo apt-get install nodejs

**rubyのインストール(CentOS8) [#heaedb57]
-必要なライブラリのインストール。
 sudo dnf install git zlib zlib-devel readline readline-devel openssl openssl-devel curl curl-devel mysql-devel sqlite-devel  nodejs
-rmagickを使う場合
#pre{{
dnf install -y epel-release
dnf config-manager --set-enabled PowerTools 
dnf install -y ImageMagick ImageMagick-devel
}}

**rubyのインストール(CentOS6) [#scb5b8ed]
-必要なライブラリのインストール。
 yum -y install git zlib zlib-devel readline readline-devel openssl openssl-devel curl curl-devel
-mysql5.5を使う場合は以下も実行
 yum -y --enablerepo=remi install mysql-devel
-postgresqlを使う場合は以下も実行
 yum -y install postgresql-devel
-sqliteを使う場合は以下も実行
 yum -y install sqlite-devel
-rmagickをインストールする場合
 yum -y install ImageMagick-devel

**rubyのインストール(Debian) [#k367cdce]
-必要なライブラリのインストール。[[Home · rbenv/ruby-build Wiki:https://github.com/rbenv/ruby-build/wiki]]
 sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

**rubyのアンインストール [#xf6e0443]
-rbenv uninstallコマンドで削除できる
 rbenv uninstall 1.9.3-p392
**globalなrubyのバージョンを指定 [#ce0c2fe5]
-確認。systemはシステム標準。
 rbenv global
-rbenv 
-rbenvでインストールした、1.9.3-p392を使う。
 rbenv global 1.9.3-p392

**プロジェクトごとのrubyを指定。 [#k7976a24]
-フォルダの中に、.ruby-versionを作り、そこに、2.0.0-p0と書く。

**rubyの切り替え [#t99a2c94]

,rbenv global <バージョン>,デフォルトで使うRubyの切り替え
,rbenv local <バージョン>,特定ディレクトリ以下のrubyのバージョン指定となる
,rbenv shell <バージョン>,一時的に切り替えたいとき

shell > local > globalの順に優先される。


** shebangから使用する [#f43c0589]
-[[ruby local exec · rbenv/rbenv Wiki:https://github.com/rbenv/rbenv/wiki/ruby-local-exec]]によると単に/usr/bin/env経由で呼び出せば.ruby-versionをみてくれるらしい。
 #!/usr/bin/env ruby
**Passengerのインストール [#u57b9563]
-MacPorts/Homebrew/CentOSなどほぼ同様。
-使用するrubyに切り替えておく。
-gemでinstall
 gem install passenger
-passenger-install-apache2-moduleを実行
 passenger-install-apache2-module
-最後に表示されるLoadModule, PassengerRoot, PassengerRubyの3行をhttpd.conf2貼り付ける。
*トラブルシューティング [#f8431839]

**CentOS 6/7でRuby 1.8.7がインストールできない [#b2e598cb]
-openssl関連でエラーがでる。
#pre{{
rbenv install --patch 1.8.7-p375 < <(curl -sSL https://gist.githubusercontent.com/src256/552c6474fbae80358829/raw/0235199a77e84eafc1a51a69c9b8aa333e41cc25/install-patched-ruby-1.8.7-p375.sh)
}}

**CentOS 6.10でRuby 1.9.3がインストールできない。 [#ufe3e9aa]
-「warning: implicit declaration of function 'EC_GF2m_simple_method'」というエラーが発生。
-https://qiita.com/kakipo/items/482b32b0c2ec0f9d113c の内容をコピペしてpatch.diffを作成。以下のコマンドでインストールする。
#pre{{
cat patch.diff | rbenv install --patch 1.9.3-p194
}}
**CentOSでruby 2.2.0がインストールできない [#d7d24e68]
-[[Ruby2.2.0のインストールがlibffi.a: could not read symbols: Bad valueで失敗した件 - まっしろけっけ:http://shiro-16.hatenablog.com/entry/2014/12/26/003810]]
-先に以下のコマンドを実行する
 $ sudo yum install libffi-devel
**tmuxと同時に使うとうまく動かない [#l73a9dd3]
-[[The master branch of rbenv breaks inside of tmux. &#183; Issue #369 &#183; sstephenson/rbenv &#183; GitHub:https://github.com/sstephenson/rbenv/issues/369]]によると、tmuxを起動したときPATHの再書き換えがおこるせいか?
-[[tmuxとrbenvを併用する場合は.rbenv/shimsのパスも通してないとバージョン指定できない - 僕の車輪の再発明:http://kazuph.hateblo.jp/entry/2013/05/06/200059]]にあるように設定するのが簡単かも。
 export PATH="${HOME}/.rbenv/bin:${HOME}/.rbenv/shims:${PATH}"

**2.1.1がインストールできない [#ve734c53]
-[[技術検索パン屋!:http://sandbox.rubyprogrammer.info/qiita/items/5ccd93d9dab30363d722]]によると
-homebrewの場合
 RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install --patch 2.1.1 < <(curl -sSL 'https://projects.archlinux.org/svntogit/packages.git/plain/ruby/trunk/0001-Fix-undeclared-identifier-error-by-using-the-actual-.patch?id=d54cc2645013754f6a303075eb22df1eecb7676a')
-macportsの場合。
 RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/local --with-readline-dir=/opt/local" rbenv install --patch 2.1.1 < <(curl -sSL 'https://projects.archlinux.org/svntogit/packages.git/plain/ruby/trunk/0001-Fix-undeclared-identifier-error-by-using-the-actual-.patch?id=d54cc2645013754f6a303075eb22df1eecb7676a')
-File to patch:と聞かれるので、ext/readline/readline.cを選択。

**CentOS 5.11でRuby 2.1.5がインストールできない [#j4134031]
-ruby-buildがうまく動かない?ファイルをダウンロードした直後に以下の表示が…。ただしその後そのままインストールは最後までいく。
 BUILD FAILED (CentOS release 5.11 (Final) using ruby-build 20141222)
-ruby-buildスクリプトを以下のように変更したらうまくいった?
#pre{{
#      local openssl="$(command -v "$(brew --prefix openssl 2>/dev/null)"/bin/openssl openssl | hea\
d -1)"
      local openssl="/usr/bin/openssl"
}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS