2012-07-28 132 views
8

我在OS X 10.8上使用XCode 4.4,Ruby 1.9.3和Rails 3.2。爲什麼bundler不能在OS X 10.8上安裝json 1.7.4 gem?

當我從克隆的git我的Rails項目並運行:

bundle install 

我得到:

安裝JSON(1.7.4) 變量Errno :: EPERM:操作不允許 - /用戶/ myuser的/.rvm/gems/ruby-1.9.3-p0/gems/json-1.7.4/.gitignore 安裝json(1.7.4)時發生錯誤,並且Bundler無法繼續。 確保gem install json -v '1.7.4'在捆綁之前成功。

然後我嘗試:

gem install json -v '1.7.4' 

,並得到:

錯誤:在執行寶石...(錯誤:: EPERM) 不允許操作 - /Users/scalessec/.rvm/gems /ruby-1.9.3-p0/gems/json-1.7.4/.gitignore

好的。權限問題,對嗎?讓我們試試:

sudo gem install json -v '1.7.4' 

不行。這是我得到的:

構建原生擴展。這可能需要一段時間... 錯誤:安裝json時出錯: 錯誤:無法構建gem本機擴展。

/Users/myuser/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb 創建的Makefile

使 編譯generator.c 化妝:在/ usr/bin中/ GCC -4.2:權限被拒絕 make:* [generator.o]錯誤1

這是什麼?

+0

我只是對Arch Linux的安裝JSON 1.7.4的問題;它失敗了,因爲當它應該調用'/ usr/bin/install'時,Makefile正在尋找'/ bin/install';我的觀點是,我認爲該寶石的發佈有問題。 – benzado 2012-08-07 06:28:33

回答

9

我不確定,但是我2天前升級到OS X 10.8(來自Lion,我的導軌配置工作正常)。 和我有相同的JSON 1.7.4問題。

最終我通過注意到Xcode的命令行工具沒有安裝(但它們在OS X 10.7上!)解決了這個問題。 我剛剛在Xcode中重新安裝了CLI工具,並且json 1.7.4問題消失了。

而且萬一檢查出這個指南:http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion

+1

我會將其標記爲正確的答案,因爲它可能對其他用戶最有幫助。事實上,我已經安裝了CLI工具,所以不是這樣。我認爲這是一個編譯器問題。無論如何,重新安裝ruby和rails都有訣竅。 – user2393462435 2012-08-08 19:22:19

+0

這也發生在我身上。我打開了XCode,它促使我更新CLI工具。 – Soliah 2012-08-13 02:08:29

+0

對於我神祕地卸載的CLI工具+1。 – westonplatter 2013-06-12 21:30:32

2

感謝aabulkhairov他的解決方案。

這裏有一個具有相同症狀的人,但仍在運行OS X Lion的

我能夠從App Store更新的Xcode 4.4,然後使用的XCode>首選項>下載到安裝CLI工具 ;這解決了這個問題。新的XCode與Lion兼容,我的Rails應用程序按預期運行。

我想我進入了這個狀態,因爲從App Store安裝的XCode 4.2.1以前的版本已經取代了我從developer.apple.com下載的更舊的版本 - 這可能是我丟失了CLI工具的原因。從那時起,我顯然再也不需要用原生擴展編譯一個gem了。

+0

重新安裝命令行工具爲我工作。在我啓動Xcode之後,它促使我更新一些東西。我這樣做了,然後按照這些說明安裝了CLI工具(在升級到Mountain Lion之前我也有過它們)。一旦完成,軟件包安裝效果很好。 – Ryan 2012-08-15 00:35:53

0

對於OS X使用:
sudo gem install json --pre最新的一個

檢查的Ruby版本所使用。這可以用ruby 1.9.3輕鬆安裝。更改紅寶石版本1.9.3,做

sudo gem install json -v '1.7.4'