2019年9月7日土曜日

CentOS7でsoftwarecollectionsのRuby on Rails 4.2をrh-ruby24で使う方法

 CentOS7のsoftwarecollectionsではrailsの4.2を利用する事になる。

https://www.softwarecollections.org/en/scls/rhscl/rh-ror42/
Ruby on Rails 4.2
together with the rh-ruby23 とある通りで、推奨されているパッケージ指定では基本ruby2.3でしかrails4.2を使う事しか出来ない。
とは言えrails本体に必須なrubyバージョンは1.9.3以降であり、rails4.2をruby2.3で動かす事自体は問題がない。
https://rubygems.org/gems/rails/versions/4.2.0
これでは不便な事もあり、任意のrubyのバージョンを指定して利用したい。
そこで回避策として通常sclの設定を変更する。
/etc/profile.d/以下に任意のファイル名のbashファイルを配置する。

#!/bin/bash
source /opt/rh/rh-ror42/enable
source /opt/rh/rh-ruby24/enable
#export X_SCLS="`scl enable rh-ror42 rh-ruby24 'echo $X_SCLS'`"
export X_SCLS="rh-ruby24 rh-ror42"
コメントアウトしてある箇所が通常の指定で、その直下の様に$X_SCLSを指定しない様にする。
(他のパッケージ指定が必要であればこちらに直接追記する事になるはず。)
 setにて以下の変数を確認できるはずで、ruby -vにてバージョンの確認もできる。
 X_SCLS='rh-ruby24 rh-ror42’

くれぐれも自己責任で御利用いただきたい。

0 件のコメント: