2010-07-21 19 views
6

Estoy tratando de instalar rspec-rails en Ubuntu pero estoy teniendo algunos problemas."bundle install" fail while install rspec

Éstos son mis pasos exactos:

1) cambió mi Gemfile a:

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) Tipo "paquete de instalación" y me sale el siguiente error:

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

3) Si continúo con mis instrucciones de instalación y escribo "rails generate rspec: install" , aparece el siguiente error (pero puede deberse a que el # 2 falló)

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

No he podido encontrar una solución para esto en Google. Este es el link del tutorial que trato de seguir. Mi entorno dev es Ubuntu 10.04, Ruby 1.8.7, Rails 3.0.0 beta 4.

Gracias.

+1

¿Qué 'sudo install' paquete, pero no es una buena idea. – randika

+0

¿Qué salida obtiene si escribe 'ls -l/home/steve/.gem /'? –

Respuesta

8

Probablemente tenga una configuración errónea de permisos en su carpeta .gem. Puede restablecer los permisos usando

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

o puede quitar fácilmente la carpeta y dejar bundler/rubygems volver a crearlo.

+0

Gracias! Se corrigió el mismo problema para mí. Mi directorio .gem era propiedad de root. –

2

¿No debería incluir rspec en la configuración de desarrollo también?

no puedo probar aquí - pero creo que si se incluyen:

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

... en su grupo: Desarrollo de hacer ... bloque extremo, que podrían solucionar el problema. Me parece lógico, ya que creo que rspec-rails necesita la funcionalidad rspec en sí misma para poder generar los archivos necesarios. Usted es probablemente más seguro también si haces los bloques de la siguiente manera:

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 

... que de esa manera los archivos necesarios debería estar recibiendo incluyeron en ambos ambientes. No lo sé con certeza, solo espero que esto no haya confundido más las cosas (¡Soy un novato total de Rails!)

+0

Estoy de acuerdo, estoy bastante seguro de que necesitan estar juntos. –

+0

Éste resuelve mi problema.¡Gracias! – Andree

1

Si cambiar de dueño de su carpeta ~/.gem no funciona, intente verificar la propiedad de la carpeta que está actualmente en para comprobar sus permisos de carpeta tipo:.

$ ls -la

Si ve algo que dice "root" que necesita ser cambiado a su cuenta de usuario actual.

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

1

basta con retirar .bundle directorio en su ruta de la aplicación