簡體   English   中英

從本地.gem文件安裝“雪貂” gem時,Errno :: EEXIST文件存在錯誤

[英]Errno::EEXIST File Exists error when installing 'ferret' gem from local .gem file

我正在嘗試在RHEL zlinux(s390x體系結構)計算機上安裝ferret紅寶石gem,並在.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

在運行此命令之前,不存在與“雪貂”相關的上述目錄或文件。

同樣奇怪的是,/ /home/rubyusr/rubygems/gems/gems/ferret-0.11.6/bin是目錄,盡管這可能是正常現象。

最后一個復雜的因素是,當我運行gem命令時,我實際上正在運行一個shell腳本,該腳本為我不尋常的rubygems目錄設置了環境變量(到目前為止,此設置沒有任何問題)。 這是我的gem外殼腳本:

#!/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命令通常似乎不會導致此錯誤(但雪貂無法編譯),並顯示以下錯誤:

posh.h:515:4: error: #error POSH cannot determine target CPU

Debian中有一個錯誤,要求添加對arm64的支持: https ://bugs.debian.org/cgi-bin/bugreport.cgi ? bug = 770922

它需要在文件ext / posh.h中添加幾行來添加對該CPU的支持:

--- a/ext/posh.h
+++ b/ext/posh.h
@@ -512,6 +512,11 @@
#  define POSH_CPU_STRING "PA-RISC"
#endif

+#if defined __aarch64__
+#  define POSH_CPU_AARCH64 1
+#  define POSH_CPU_STRING "AArch64"
+#endif
+
#if !defined POSH_CPU_STRING
#  error POSH cannot determine target CPU
#  define POSH_CPU_STRING "Unknown" /* this is here for Doxygen's  benefit */

添加對s390的支持是關於添加以下行:

#if defined __s390__
#  define POSH_CPU_S390 1
#  define POSH_CPU_STRING "S/390"
#endif

如果您知道S390 / X的相應值,則可以在其中添加它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM