在本地安装使用platform = java |构建的gem JRuby 1.7.18

时间:2016-01-12 21:54:52

标签: ruby rubygems jruby

当gemspec具有platform =" java"。

时,我用来在本地构建和安装gem的工作流似乎无法转换。

我使用的是Jruby 1.7.18,安装了rvm

$ which gem
/Users/USERNAME/.rvm/rubies/jruby-1.7.18/bin/gem

当我使用默认平台构建gem时,一切都按计划进行:

$ grep platform batching_core.gemspec 
  # spec.platform      = "java"

$ gem build batching_core.gemspec 
  Successfully built RubyGem
  Name: batching_core
  Version: 0.1.0
  File: batching_core-0.1.0.gem

$ gem install batching_core-0.1.0.gem 

jar dependencies found on non-java platform gem - do not install jars

Successfully installed batching_core-0.1.0
1 gem installed

注意"成功安装batching_core-0.1.0"

的成功消息

但是当我的项目要求我使用platform = java时,我可以要求一些jar文件。我可以构建gem,但我无法安装它。安装结束时没有成功消息,我不能在irb中使用gem:

$ grep platform batching_core.gemspec 
  spec.platform      = "java"

$ gem build batching_core.gemspec 
  Successfully built RubyGem
  Name: batching_core
  Version: 0.1.0
  File: batching_core-0.1.0-java.gem

$ gem install batching_core-0.1.0-java.gem 
$

^^注意缺少输出。没有成功消息,根本没有输出。

$ irb
jruby-1.7.18 :001 > require 'batching_core'
LoadError: no such file to load -- batching_core
    from org/jruby/RubyKernel.java:1071:in `require'
    from /Users/USERNAME/.rvm/rubies/jruby-1.7.18/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55:in `require'

我尝试了这里建议的解决方案,但得到了相同的结果。 Creating a gem using Jruby and not Ruby

编辑:以下是导致问题的项目:

https://github.com/ValerieAnne563/so34754484

1 个答案:

答案 0 :(得分:0)

我认为gem不包含您尝试要求的文件。你能检查一下内容,看看“batching_core.rb”是否在gem的lib目录中?

至于警告......我对你的环境感到困惑。这是一个安装在JRuby上的jar的宝石?如果你链接到项目或发布gemspec,它可能会澄清一些事情。