2013-03-26 69 views
1

我一直在試圖讓Ruby在我的Mac上運行幾天,無論我做什麼似乎都不成功。我已經安裝了MacPorts的跟着這裏的帖子:Installing Ruby on Mac OS X 10.8.2無法在Mac OSX 10.8.3上運行ruby 10.8.3

我跑以下命令:

sudo port selfupdate 
sudo port install apple-gcc42 

他們成功地完成了,然後我跑到下面一行:

CC=/opt/local/bin/gcc-apple-4.2 rvm install ruby-1.9.3-p194 --enable-shared --without-tk --without-tcl 

我跑這條線之後它需要幾分鐘,我得到以下內容:

在此處輸入代碼MacPorts base已經是最新版本 DEBUG:將MacPorts源所有權設置爲根 端口樹已更新。要升級已安裝的端口,應該運行 端口升級過期 i686-apple-darwin12-gcc-apple-4.2.1:無輸入文件 缺少所需的軟件包:autoconf,automake,libtool,pkgconfig,libiconv,libyaml,readline, libxml2,libxslt,libksba,openssl,curl-ca-bundle,sqlite3,zlib,ncurses,gdbm。 懦弱的拒絕繼續,請閱讀'rvm autolibs'。 有包安裝錯誤,請務必閱讀日誌。

我是否需要安裝它引用的缺少的軟件包?如果是這樣,我該怎麼做?我對MacPorts並不是很熟悉,並希望得到這個工作的幫助。

因爲我本來我經歷了https://rvm.io/rvm/install/安裝RVM我跟着第一個命令RVM紅寶石:

$ \curl -#L https://get.rvm.io | bash -s stable --autolibs=3 --ruby 

後,我跑了下載,當它來到安裝RubyGems的-2.0然後編譯的命令。 3紅寶石2.0.0-P0它給了以下錯誤消息:

Error running 'env GEM_PATH=/usr/local/rvm/gems/ruby-2.0.0-p0:/usr/local/rvm/gems/[email protected]:/usr/local/rvm/gems/ruby-2.0.0-p0:/usr/local/rvm/gems/[email protected] GEM_HOME=/usr/local/rvm/gems/ruby-2.0.0-p0 /usr/local/rvm/rubies/ruby-2.0.0-p0/bin/ruby -d /usr/local/rvm/src/rubygems-2.0.3/setup.rb --verbose', please read /usr/local/rvm/log/ruby-2.0.0-p0/rubygems.install.log

我然後去打開日誌文件,並在底部它說

ERROR: While executing gem ... (NoMethodError) undefined method fu_stream_blksize for #<Gem::Commands::SetupCommand:0x007fa09b05d7a8> Installing RubyGems Installing gem executable

任何想法接下來我可以做什麼?

在此先感謝。

+1

給自制軟件嘗試一下Macports,自從我做了特定的開關以來,我從來沒有遇到任何麻煩。請參閱https://earino.wordpress.com/2012/07/02/macports-x-homebrew-a-quick-story-14/。 – Thilo 2013-03-26 19:12:18

+0

在本地機器上獲取Ruby的最常用方法之一實際上是通過RVM。它還有額外的好處,可以讓你安裝許多版本的Ruby,並在它們之間切換。你試過了嗎? https://rvm.io/ – jefflunt 2013-03-26 19:13:42

+0

或從源代碼編譯Ruby http://www.ruby-lang.org/en/downloads/ – slowpoke 2013-03-26 19:15:17

回答

2

我有類似的問題與OS X 10.8.3和XCode 4.6.1。經過一些Google搜索之後,我嘗試使用類似的RVM命令進行安裝,除了使用XCode版本的clang(該符號鏈接到/ usr/bin/cc)。試試這個:

\curl -#L https://get.rvm.io | bash -s stable #just get rvm 

source ~/.rvm/scripts/rvm 

rvm get head # update to latest rvm 

CC=/usr/bin/cc rvm install ruby 

應該具有相同的故障安裝的rubygems-2.0.3,但重新安裝的RubyGems只是應該工作:

CC=/usr/bin/cc rvm install rubygems latest # substitute "2.0.3" for "latest" if you like. 

看來,這是定於在固定bug in rubygems 2.0.4。

希望有幫助!

+0

非常感謝您的回覆。原來是一個權限問題。我運行以下命令,然後它工作... sudo chown -R $ USER:$ rvm_path – Aaron 2013-03-29 15:50:36

2

我覺得這個bug從FileUtils提供。 要解決此問題,您需要從rvm更改rubygems腳本:nano .rvm/scripts/rubygems 要找到nano中的單詞使用ctrl+w setup.rb並刪除--verbose選項。 之後你需要ctrl+o保存文件和ctrl+x關閉nano。

現在你可以重新安裝的RubyGems:

rvm rubygems remove 
rvm rubygems latest 

對不起我的英語不好。 希望這對你有所幫助。

+0

不錯。這實際上需要對我進行一些調整,因爲我試圖'$ rvm install 2.0.0.-p0',但是我得到了OP的錯誤。在我的情況下,當前的ruby 2環境是由安裝程序暫時設置的。所以我嘗試了你的指示,但我最終卸載並重新安裝rubygems for ruby​​ 1.9 ...做'$ rvm使用2.0。0-p0'緊跟着你的指示我得到了一個乾淨的rubygems安裝。 – Ando 2013-03-31 19:32:03

+0

即使rubygems正確安裝,在執行上述步驟後仍可能會收到錯誤。顯示發行說明時有一個錯誤。下面列出了相關鏈接和臨時解決方案(直到rubygems 2.1發佈)。 – 2013-04-11 03:44:07

0

這個問題是無害的,rubygems我s已經安裝並且會按預期工作,這是由https://bugs.ruby-lang.org/issues/7992觸發的 - --verbose標誌爲rubygems安裝 - 如果在安裝期間沒有其他錯誤,您的ruby完全可用。


一個側面說明,RVM檢測所有你通過選項/標誌,它是不需要手動通過他們,這將是足以運行:

rvm install ruby-1.9.3-p194 


的RVM安裝RAN與 --autolibs=3等同於運行它withoug與人工設置:

rvm autolibs 3 

要得到autolibs和可用模式的詳細信息運行:

rvm help autolibs