java - 从 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
非常感谢!
解决方案
这是构建扩展所需的ant依赖项。gem '...', github: ...
最近已更改(09/2018),如果您更新 git repo,现在不再需要。
自此提交以来的51-stable分支: https ://github.com/jruby/activerecord-jdbc-adapter/commit/9dbcf040715bb3d51dbe122bf521ea8ef2288293
推荐阅读
- javascript - 带有事件按钮的js不起作用
- ios - 请求用户解锁屏幕一次,在通过 CallKit 接听电话之前
- python - 计算某个值出现之间的行数
- javascript - 围绕纬度/经度多边形扩大半径 X 英里
- vbscript - Task Scheduler,调度vbs脚本
- arduino - 使用一个按钮在 oled 显示器上显示不同的图像
- pandas - 熊猫栏目分类
- wpf - 我想控制 wpf 中的动态 subMenu 自动列。如果 5 行自动中断 1 列。如何?
- firebase - 如何使用 exoplayer 从 url 获取 mp3 标题、图像和描述
- python - 跳过文档中的类型提示