2010-07-21 15 views
6

Ich versuche RSPEC-Rails auf Ubuntu zu installieren, aber ich habe einige Probleme."Paket installieren" fehlgeschlagen während der Installation rspec

Hier sind meine genauen Schritte:

1) änderte mein Gemfile an:

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) Geben Sie "Bundle installieren" und ich bekomme die folgende Fehlermeldung:

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

3) Wenn ich mit meinen Installationsanweisungen fortfahre und "rails generate rspec: install" eintippe bekomme ich den folgenden Fehler (aber es wurde möglicherweise verursacht, dass # 2 fehlschlägt)

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

Ich konnte bei Google keine Lösung dafür finden. Dies ist das link zu dem Tutorial, das ich versuche zu folgen. Meine dev-Umgebung ist Ubuntu 10.04, Ruby 1.8.7, Rails 3.0.0 beta 4.

Danke.

+1

Wie wäre es 'sudo Bündel install', aber nicht eine gute Idee. – randika

+0

Welche Ausgabe erhalten Sie, wenn Sie 'ls -l/home/steve/.gem /' eingeben? –

Antwort

8

Sie haben wahrscheinlich eine Fehlkonfiguration der Berechtigung in Ihrem .gem-Ordner. Sie können die Berechtigungen zurückgesetzt

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

, oder Sie können einfach den Ordner entfernen und Bündler/rubygems neu erstellen lassen.

+0

Danke! Das gleiche Problem für mich behoben. Mein .gem-Verzeichnis gehörte root. –

2

Sollte nicht auch rspec in der Entwicklungskonfiguration enthalten sein?

Ich kann hier nicht testen - aber ich denke, wenn Sie sind:

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

... in Ihrer Gruppe: Entwicklung tun ... Endblock, dass das Problem beheben könnte. Es erscheint mir logisch, da ich glaube, dass rspec-rails die rspec-Funktionalität selbst benötigt, um die notwendigen Dateien erzeugen zu können. Sie sind wahrscheinlich auch sicherer, wenn Sie die Blöcke wie folgt machen:

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 

... so sollten die notwendigen Dateien in beiden Umgebungen enthalten sein. Ich weiß es nicht sicher, ich hoffe nur, dass dies die Dinge nicht weiter verwirrt hat (ich bin ein totaler Rails-Neuling!)

+0

Ich stimme zu, ich bin mir ziemlich sicher, dass sie zusammen sein müssen. –

+0

Dieser löst mein Problem.Vielen Dank! – Andree

1

Wenn das Ändern des Besitzes Ihres ~/.gem-Ordners nicht funktioniert, versuchen Sie, den Besitz zu überprüfen der Ordners sind Sie in Ihren Ordner-Berechtigungen geben um zu überprüfen.

$ ls -la

Wenn Sie etwas sehen, die „root root“ es geändert werden muss, um Ihr aktuelles Benutzerkonto sagt.

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

1

einfach entfernen .bundle Verzeichnis in Ihrem Anwendungspfad

Verwandte Themen