当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
编辑:以下是导致问题的项目:
答案 0 :(得分:0)
我认为gem不包含您尝试要求的文件。你能检查一下内容,看看“batching_core.rb”是否在gem的lib目录中?
至于警告......我对你的环境感到困惑。这是一个安装在JRuby上的jar的宝石?如果你链接到项目或发布gemspec,它可能会澄清一些事情。