###前提・実現したいこと
- インターネットから隔離された環境で、Redmineをインストールする。
- インストールしようとしているRedmineは3.3.0
- DBは、mysql Ver 15.1 Distrib 5.5.50-MariaDB, for Linux (x86_64) using readline 5.1
- Redmine実践ガイド (アジャイルウェア 著)を読みながらインストール。
- bundle installのところまでは問題なく進めていた。
- 登場するサーバは以下のとおり(いずれもOpenstack上の仮想サーバ)
サーバ | 概要 | OS | 備考 |
---|---|---|---|
A | Redmineインストール用 | CentOS7 | |
B | ローカルリポジトリ用 | Ubuntu | www.yum-local.com/gemsでgemを公開 |
:OS: CentOS7 (Openstack仮想マシン上) |
- サーバBの${redmine_gems}/gemsに必要となるgemファイルを入れて、${redmine_gems}でgem generate_indexを実施している。
###発生している問題・エラーメッセージ
サーバAにおいて、bundle install --without development test --path vendor/bundle を実行すると以下のメッセージが出てとまる。
その他のgemは問題なくインストールできたようだ。
Could not find gem 'mysql2 (~> 0.3.11)' in any of the gem sources listed in your Gemfile or available on this machine.
###該当のソースコード
rubygems.orgへのリーチがないので、Gemfileの1行目をコメントアウトし、2行目にローカルリポジトリを参照するように変更している
#source 'https://rubygems.org' source 'http://www.yum-local.com/gems'
config/database.ymlでは、mysql2のアダプタで設定している。
(前略) production: adapter: mysql2 (後略)
###試したこと
- Gemfileのmysql2を読み込むところをコメントアウトすれば、bundle installは成功する
(前略) if File.exist?(database_file) database_config = YAML::load(ERB.new(IO.read(database_file)).result) adapters = database_config.values.map {|c| c['adapter']}.compact.uniq if adapters.any? adapters.each do |adapter| case adapter when 'mysql2' # gem "mysql2", "~> 0.3.11", :platforms => [:mri, :mingw, :x64_mingw] # (↑この行をコメントアウト) gem "activerecord-jdbcmysql-adapter", :platforms => :jruby (後略)
- gem searchでは、mysql2のgemは見えている。
$ gem search mysql2 --remote *** REMOTE GEMS *** mysql2 (0.4.4)
- curlでgemのインデックスを取得してみる
$ curl http://www.yum-local.com/gems/specs.4.8.gz >specs.4.8.gz $ gunzip specs.4.8.gz $ less specs.4.8
→バイナリなので完全に読めるわけではないが、mysql2の行がないことがわかった。
→gem generate_index --updateを実行してみる
参考URL
→ No new gemsと表示される。
$ sudo gem generate_index --update No new gems
- gem generate_index --updateを実行後のインデックスを確認
→上記同様にcurlでindexファイルを取得し、再度中身を確認すると、こんどは、インデックスのなかにmysql2のgemの情報が入っている。
- 満を持して、再度bundle installを実行
$ bundle install Fetching source index from http://www.yum-local.com/gems/ Could not find gem 'mysql2 (~> 0.3.11)' in any of the gem sources listed in your Gemfile or available on this machine.
→結果はおなじ。お手上げ・・・どなたか助けてください・・・
あなたの回答
tips
プレビュー