我正在尝试ferret
在 RHEL zlinux(s390x 架构)机器上安装 ruby gem,并尝试在修补它.gem
之后安装一个文件,以便它可以编译。
但即使尝试安装原始获取的 gem,它也会失败,如下所示:
[ me@s390x ]$ sudo gem fetch ferret
Downloaded ferret-0.11.6
[ me@s390x ]$ sudo gem install -lV ferret-0.11.6.gem
Installing gem ferret-0.11.6
Using local gem /home/rubyusr/rubygems/gems/cache/ferret-0.11.6.gem
/home/rubyusr/rubygems/gems/gems/ferret-0.11.6/bin
ERROR: While executing gem ... (Errno::EEXIST)
File exists - /home/rubyusr/rubygems/gems/gems/ferret-0.11.6/bin
在运行此命令之前,上述与“ferret”相关的目录或文件都不存在。
同样奇怪的是这/home/rubyusr/rubygems/gems/gems/ferret-0.11.6/bin
是一个目录,尽管这可能是一个正常的抱怨。
最后一个复杂的因素是,当我运行gem
命令时,我实际上正在运行一个 shell 脚本,该脚本为我不寻常的 rubygems 目录设置环境变量(到目前为止,我的设置没有任何问题)。这是我的gem
shell脚本:
#!/bin/bash
export GEM_HOME=/home/rubyusr/rubygems/gems
export GEM_PREFIX=/home/rubyusr/rubygems
export RUBYLIB=$GEM_PREFIX/lib:/usr/lib/ruby:/usr/lib/ruby/site_ruby:/usr/lib/site_ruby
export GEM_PATH=$GEM_HOME
OUR_GEM_COMMAND=$GEM_PREFIX/bin/gem
$OUR_GEM_COMMAND $@
编辑:
我忘了补充一点,运行 gem install 命令通常似乎不会导致这个错误(但是 ferret 编译失败),错误:
posh.h:515:4: error: #error POSH cannot determine target CPU