Travis CI Build 没有为 JRuby 平台安装 gems
Travis CI Build doesn't install gems for JRuby platform
我为我的项目设置了一个 travis 构建,它也在 JRuby 上 运行。我在 :jruby
平台的 Gemfile
中提到了 activerecord-jdbcsqlite3-adapter
gem:
platforms :jruby do
gem "activerecord-jdbcsqlite3-adapter"
end
但构建仍然总是失败并显示消息 LoadError: Please install the sqlite3 adapter:
gem install activerecord-sqlite3-adapter(sqlite3 is not part of the bundle. Add it to Gemfile.)
并且 gem 实际上没有安装。
该项目在 https://github.com/simplabs/rails_api_auth, the build is at https://travis-ci.org/simplabs/rails_api_auth 开源。
如果你这样做会怎样?:
platforms :jruby do
gem 'sqlite3'
gem 'activerecord-jdbcsqlite3-adapter'
end
也许适配器仍然依赖于来自 sqlite3 gem 的 类(这是我到目前为止从错误中读到的内容)
在 travis-ci for sqlite3 上,docs 似乎表明你需要 'jdbc-sqlite3:
platforms: jruby do
gem 'jdbc-sqlite3'
gem 'activerecord-jdbc-adapter'
end
编辑
实际上,我认为您真正的问题是您签入了 Gemfile 锁定文件 (Gemfile.lock && gemfiles/*.lock)。 Travis-ci 不会重新评估特定平台需要哪些 Gems。
我为我的项目设置了一个 travis 构建,它也在 JRuby 上 运行。我在 :jruby
平台的 Gemfile
中提到了 activerecord-jdbcsqlite3-adapter
gem:
platforms :jruby do
gem "activerecord-jdbcsqlite3-adapter"
end
但构建仍然总是失败并显示消息 LoadError: Please install the sqlite3 adapter:
gem install activerecord-sqlite3-adapter(sqlite3 is not part of the bundle. Add it to Gemfile.)
并且 gem 实际上没有安装。
该项目在 https://github.com/simplabs/rails_api_auth, the build is at https://travis-ci.org/simplabs/rails_api_auth 开源。
如果你这样做会怎样?:
platforms :jruby do
gem 'sqlite3'
gem 'activerecord-jdbcsqlite3-adapter'
end
也许适配器仍然依赖于来自 sqlite3 gem 的 类(这是我到目前为止从错误中读到的内容)
在 travis-ci for sqlite3 上,docs 似乎表明你需要 'jdbc-sqlite3:
platforms: jruby do
gem 'jdbc-sqlite3'
gem 'activerecord-jdbc-adapter'
end
编辑
实际上,我认为您真正的问题是您签入了 Gemfile 锁定文件 (Gemfile.lock && gemfiles/*.lock)。 Travis-ci 不会重新评估特定平台需要哪些 Gems。