2010-07-21 119 views
6

我想在Ubuntu上安裝rspec-rails,但我遇到一些問題。「捆綁安裝」失敗,同時安裝rspec

這裏是我的具體步驟:

1)改變了我的Gemfile到:

source 'http://rubygems.org' 

gem 'rails', '3.0.0.beta4' 
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3' 

group :development do 
    gem 'rspec-rails', '2.0.0.beta.17' 
end 

group :test do 
    gem 'rspec', '2.0.0.beta.17' 
end 

2)鍵入 「包安裝」,我得到以下錯誤:

/usr/lib/ruby/1.8/fileutils.rb:243:in `mkdir': Permission denied - /home/steve/.gem/specs (Errno::EACCES)

3 )如果我繼續我的安裝說明並輸入「rails generate rspec:install」 我收到以下錯誤(但它可能是由#2失敗引起的)

Could not find gem 'rspec (= 2.0.0.beta.17, runtime)' in the gems available on this machine.

我無法在Google上找到解決方案。這是我試圖遵循的教程的link。我的開發環境是Ubuntu的10.04,紅寶石1.8.7,Rails的3.0.0 beta 4版本

感謝。

+1

怎麼樣'須藤束install',但不是一個好主意。 – randika 2010-07-21 07:53:49

+0

如果輸入'ls -l/home/steve/.gem /',你會得到什麼輸出? – 2010-07-21 09:21:31

回答

8

你可能在你.gem文件夾的權限配置不當。 可以使用

$ sudo chown -R steve:steve ~/.gem 

重置權限,也可以很容易地刪除的文件夾,並讓打捆/ RubyGems的重建。

+0

謝謝!修復了同樣的問題..我的.gem目錄由root擁有。 – 2010-12-04 15:34:35

2

你不應該在開發配置中包含rspec嗎?

我不能在這裏測試 - 但我認爲,如果你有:

gem 'rspec', '2.0.0.beta.17' 

...您的組中:發展做...結束塊,可能會解決這個問題。這對我來說似乎是合乎邏輯的,因爲我認爲rspec-rails需要rspec功能本身,以便能夠生成必要的文件。如果你製作這樣的塊,你可能也會更安全:

group :development do 
    gem 'rspec', '2.0.0.beta.17' 
    gem 'rspec-rails', '2.0.0.beta.17' 
end 

group :test do 
    gem 'rspec', '2.0.0.beta.17' 
    gem 'rspec-rails', '2.0.0.beta.17' 
end 

...就這樣,必要的文件應該包含在這兩種環境中。我不知道是肯定的,我只希望這還具有不糊塗事(我是一個總的Rails的新手!)

+0

我同意,我很確定他們需要在一起。 – 2010-10-12 20:30:45

+0

這個解決了我的問題。謝謝! – Andree 2011-11-30 14:53:58

1

如果你的〜/ .gem文件夾的更改所有權不起作用嘗試檢查所有權該文件夾的您目前在要檢查您的文件夾權限類型:

$ ls -la

如果你看到什麼,說:「根根」需要將其更改爲當前用戶帳戶。

$ sudo chown -R steve:steve /path/to/folder

1

只是刪除.bundle目錄在你的應用程序路徑