尝试通过捆绑更新Rails 将Rails形式的5.2.3升级到6.0.0,出现以下错误:
Bundler could not find compatible versions for gem "rails":
In Gemfile:
rails (= 6.0.0)
devise-security was resolved to 0.14.2, which depends on
rails (>= 4.2.0, < 7.0)
devise_token_auth was resolved to 1.1.0, which depends on
rails (>= 4.2.0, < 6)
答案 0 :(得分:1)
您正在应用程序中使用devise_token_auth
gem。 gem的最新版本是1.1.0
,该版本尚不支持Ruby on Rails 6.0。还是要看
Rails >= 4.2.0
和< 6
(请参见其Rubygems
页面中间的列。
Rails发布了新的市长版本这一事实通常并不意味着所有gem在第一天就支持该版本。顺便说一句,这就是为什么我总是建议尽量减少使用的gem的数量,而不是为每个简单的问题添加新的gem依赖项的原因。而且我们经常看到宝石永远不会更新或很晚。
在这种情况下,您似乎很幸运,因为在GitHub上的master
上,此问题已经solved。这意味着维护人员已意识到此问题并正在研究。您可以选择将Gemfile
中的条目更改为
gem 'devise_token_auth', github: 'lynndylanhurley/devise_token_auth'
但是请记住,这意味着您基本上一直在使用最新的Alpha版本,我不建议在生产中使用它。不过,最好继续更新应用程序。