jruby sunos 5.1无法运行jgem
看来jruby-1.7.16在Sunos5.10上无法正常工作。至少看起来不可能安装额外的gems 当我尝试运行jgem时,出现以下错误:jruby sunos 5.1无法运行jgem,jruby,sunos,Jruby,Sunos,看来jruby-1.7.16在Sunos5.10上无法正常工作。至少看起来不可能安装额外的gems 当我尝试运行jgem时,出现以下错误: NoMethodError: undefined method `name' for nil:NilClass _resort! at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/specification.rb:717 sort! a
NoMethodError: undefined method `name' for nil:NilClass
_resort! at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/specification.rb:717
sort! at org/jruby/RubyArray.java:3358
_resort! at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/specification.rb:716
_all at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/specification.rb:665
each at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/specification.rb:855
reverse_each at org/jruby/RubyEnumerable.java:1072
latest_specs at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/specification.rb:971
find_latest_files at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems.rb:490
load_plugins at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems.rb:1006
(root) at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/gem_runner.rb:81
require at org/jruby/RubyKernel.java:1065
(root) at /export/home/my_user/jruby-1.7.16/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
(root) at ./jgem:9
我尝试在UbuntuLTS12.04.4上使用相同的发行版,它工作正常,可以安装gems
我在Ubuntu中安装了required gems,打包了jruby,然后转移到SunOS机器上,但没有任何帮助
SunOS5.1是否完全受jruby支持?jruby和irb似乎运行良好,但jgem对我来说至关重要
=====
编辑:
这些是我在jruby安装中发现的宝石
ls
axiom-types-0.1.1 equalizer-0.0.9 rake-10.1.0 ruby-maven-libs-3.1.1
coercible-1.0.0 ice_nine-0.11.0 rdoc-4.0.1 thread_safe-0.3.4-java
descendants_tracker-0.0.4 maven-tools-1.0.5 ruby-maven-3.1.1.0.8 virtus-1.0.3
我在您提到的行前面添加了put,对于a.name和b.name,将virtus与thread_safe进行比较后,似乎出现了错误:
a = virtus
b= thread_safe
1
NoMethodError: undefined method `name' for nil:NilClass
似乎有些gem规范没有名称(这似乎很奇怪):
def self.\u度假村!(规格)#:nodoc:
规格分类!{a,b|
名称=a.name b.name#第717行
如果names.nonzero,则为next names?
b、 版本a.version
}
结束
我会尝试在a.name b.name之前放置一个put,以了解发生了什么。。。
如果它是一个干净的JRuby安装,那么肯定值得一份问题报告,但仍然值得深入研究,因为核心团队可能缺少SunOS机器:)JRuby-s gem env是否以相同的方式结束,是否以相同的方式结束(我在原始问题中包含了详细信息,是的,它是干净的jruby安装。发现了类似的问题,这是我在stackoverflow上问这个问题的同一天提出的:哦,我明白了-在这种情况下,jruby for Solaris中提供的本机内容出现了问题…这可能是由bundler/gem执行
要求“openssl”
触发的rs本机FFI由于氪而加载(这将在jruby openssl 0.9.6中消除)
def self._resort!(specs) # :nodoc:
specs.sort! { |a, b|
names = a.name <=> b.name # line 717
next names if names.nonzero?
b.version <=> a.version
}
end