首页 > 解决方案 > 从 Github (51.1) 安装 activerecord-jdbc-adapter 失败

问题描述

我正在尝试安装最新的 jdbc 适配器,因为我想将它与 Rails 5.2.1 一起使用。但是在安装过程中会出现这个错误。因为我根本不喜欢 Java,所以我不知道该怎么做。有什么建议该怎么做吗?

我将衷心感谢您的帮助!

我的java版本:

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

错误堆栈:

Using activerecord-jdbc-adapter 51.1 (java) (was 50.0) from git://github.com/jruby/activerecord-jdbc-adapter.git (at master@c5e1abd)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/activerecord-jdbc-adapter-c5e1abdaaf51
/home/markus/.rvm/rubies/jruby-9.1.17.0/bin/jruby -rubygems
/home/markus/.rvm/gems/jruby-9.1.17.0@global/gems/rake-12.3.1/exe/rake
RUBYARCHDIR=/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/extensions/universal-java-1.8/2.3.0/activerecord-jdbc-adapter-c5e1abdaaf51
RUBYLIBDIR=/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/extensions/universal-java-1.8/2.3.0/activerecord-jdbc-adapter-c5e1abdaaf51
rake aborted!
Caught NameError; examine $ANT_HOME
/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/activerecord-jdbc-adapter-c5e1abdaaf51/rakelib/compile.rake:1:in
`(root)'
/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/activerecord-jdbc-adapter-c5e1abdaaf51/rakelib/compile.rake:3:in
`(root)'
/home/markus/.rvm/gems/jruby-9.1.17.0@global/gems/rake-12.3.1/exe/rake:27:in
`<main>'

Caused by:
NameError: missing class name (`org.apache.tools.ant.IntrospectionHelper')
org/jruby/javasupport/JavaPackage.java:259:in `method_missing'
/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/activerecord-jdbc-adapter-c5e1abdaaf51/rakelib/compile.rake:1:in
`(root)'
/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/activerecord-jdbc-adapter-c5e1abdaaf51/rakelib/compile.rake:3:in
`(root)'
/home/markus/.rvm/gems/jruby-9.1.17.0@global/gems/rake-12.3.1/exe/rake:27:in
`<main>'
(See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in
/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/activerecord-jdbc-adapter-c5e1abdaaf51
for inspection.
Results logged to
/home/markus/.rvm/gems/jruby-9.1.17.0/bundler/gems/extensions/universal-java-1.8/2.3.0/activerecord-jdbc-adapter-c5e1abdaaf51/gem_make.out

An error occurred while installing activerecord-jdbc-adapter (51.1),
and Bundler cannot continue.

In Gemfile:
  activerecord-jdbcmysql-adapter was resolved to 51.1, which depends on
    activerecord-jdbc-adapter

非常感谢!

标签: javaruby-on-railsrubyjrubyruby-on-rails-5.2

解决方案


这是构建扩展所需的ant依赖项。gem '...', github: ...

最近已更改(09/2018),如果您更新 git repo,现在不再需要。

自此提交以来的51-stable分支: https ://github.com/jruby/activerecord-jdbc-adapter/commit/9dbcf040715bb3d51dbe122bf521ea8ef2288293


推荐阅读