[英]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.