当gemspec的platform = "java“时,我用来在本地构建和安装gem的工作流程似乎不能转换。
我使用的是与rvm一起安装的Jruby 1.7.18
$ 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
编辑:以下是导致问题的项目:
发布于 2016-01-13 06:32:05
在我看来,gem没有包含您想要的文件。您能检查一下内容,看看"batching_core.rb“是否在gem的lib目录中吗?
至于警告...我对你的环境感到困惑。这是安装在JRuby上的一个装有罐子的宝石吗?也许它会澄清一些事情,如果你链接到该项目或发布的gemspec。
https://stackoverflow.com/questions/34754484
复制相似问题