next-l / enju_leaf

Next-L Enju Leaf 統合図書館管理システム / integrated library system https://enju.next-l.jp/
https://www.next-l.jp
MIT License
117 stars 25 forks source link

Railsバージョンを指定したインストールができない #1264

Closed masao closed 7 years ago

masao commented 7 years ago

1.2系の新規インストール作業中に、bundle依存関係でエラーとなり、インストールできない。

$ bundle -j4
Fetching gem metadata from https://rubygems.org/.............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "turbolinks":
  In Gemfile:
    turbolinks (~> 5)

    enju_leaf (~> 1.2.0) was resolved to 1.2.0, which depends on
      turbolinks (~> 2.5)
masao commented 7 years ago

Railsバージョンは Rails 5.0.1 です。

Gemfileの内容は以下の通りです:

source 'https://rubygems.org'

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.1'
# Use postgresql as the database for Active Record
gem 'pg', '~> 0.18'
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platform: :mri
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '~> 3.0.5'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

gem 'enju_leaf', '~> 1.2.0'
gem 'enju_manifestation_viewer', '~> 0.2.0'
gem 'enju_circulation', '~> 0.2.0'
gem 'enju_subject', '~> 0.2.0'
gem 'enju_ndl', '~> 0.2.0'
gem 'statesman', '~> 1.3'
gem 'globalize', '~> 5.0.1'
gem 'globalize-accessors'
gem 'charlock_holmes', platforms: :mri
gem 'redis-rails'
gem 'resque', require: 'resque/server'
gem 'exception_notification', '~> 4.2'
gem 'whenever', require: false
gem 'sunspot_solr', '~> 2.2.7'
gem 'progress_bar'
gem 'non-stupid-digest-assets'
gem 'dotenv-rails', '~> 2.2'
masao commented 7 years ago

うーん、バージョン指定が効いていない感じですね。。。

コマンドラインはウィキのページにある通り、以下を実行したものです:

rails _4.2.7.1_ new your_enju -d postgresql --skip-bundle  -m https://gist.github.com/nabeta/8024918f41242a16719796c962ed2af1.txt
nabeta commented 7 years ago

たしかに手元の環境(OSX 10.12, rbenv)でもバージョン指定が効かないですね。 類似の事例が報告されているようです。 https://www.sharmaprakash.com.np/rails/generate-an-application-with-a-specific-rails-version/

nabeta commented 7 years ago

自分のOSX 10.12の環境のrbenvでは、すでにrails-4.2.8と5.1.0がインストールされている状態で、以下を実行すると修正できました。rubygemsのバージョンが古いのが原因のようです。

$ gem -v
2.5.2
$ gem update --system
$ gem install railties -v 4.2.8
$ gem -v
2.6.11
$ rails _4.2.8_ -v
Rails 4.2.8
masao commented 7 years ago

rubygemsのバージョンを上げると問題が起きないことを確認しました。クローズします。