2010-07-21 39 views
6

Tôi đang cố gắng cài đặt rspec-ray trên Ubuntu nhưng tôi đang gặp phải một số vấn đề."gói cài đặt" không thành công trong khi cài đặt rspec

Dưới đây là các bước xác của tôi:

1) Thay đổi Gemfile tôi để:

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) Gõ "bó cài đặt" và tôi nhận được lỗi sau đây:

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

3) Nếu tôi tiếp tục với các hướng dẫn cài đặt và gõ "rails generate rspec: install" Tôi nhận được lỗi sau (nhưng có thể do lỗi # 2)

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

Tôi không thể tìm thấy giải pháp cho điều này trên Google. Đây là link đến hướng dẫn mà tôi đang cố gắng làm theo. Môi trường dev của tôi là Ubuntu 10.04, Ruby 1.8.7, Rails 3.0.0 beta 4.

Cảm ơn.

+1

'Làm thế nào về gói sudo install', nhưng không phải là một ý tưởng tốt. – randika

+0

Bạn nhận được kết quả gì nếu bạn gõ 'ls -l/home/steve/.gem /'? –

Trả lời

8

Bạn có thể có cấu hình sai quyền trong thư mục .gem của mình. Bạn có thể đặt lại các quyền bằng cách sử dụng

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

hoặc bạn có thể dễ dàng xóa thư mục và để gói/rubygems tạo lại.

+0

Cảm ơn! Đã sửa lỗi tương tự cho tôi .. Thư mục .gem của tôi được sở hữu bởi root. –

2

Bạn cũng không nên bao gồm rspec trong cấu hình phát triển?

tôi không thể kiểm tra ở đây - nhưng tôi nghĩ nếu bạn bao gồm:

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

... trong nhóm của bạn: phát triển làm ... cuối khối, mà có thể khắc phục vấn đề. Nó sẽ có vẻ hợp lý với tôi như tôi nghĩ rspec-ray cần chức năng rspec chính nó để có thể tạo ra các tập tin cần thiết. Bạn cũng có thể an toàn hơn nếu bạn tạo các khối như thế này:

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 

... như vậy các tệp cần thiết sẽ được đưa vào cả hai môi trường. Tôi không biết chắc chắn, tôi chỉ hy vọng điều này không còn là vấn đề rắc rối nữa (tôi là tổng số Rails newbie!)

+0

Tôi đồng ý, tôi khá chắc chắn họ cần phải ở bên nhau. –

+0

Điều này giải quyết được vấn đề của tôi.Cảm ơn! – Andree

1

Nếu thay đổi quyền sở hữu thư mục ~/.gem của bạn không hoạt động, hãy thử kiểm tra quyền sở hữu của thư mục mà bạn hiện tại là để kiểm tra điều khoản thư mục bạn gõ:.

$ ls -la

Nếu bạn thấy bất cứ điều gì mà nói "gốc rễ" nó cần phải được thay đổi tài khoản người dùng hiện tại của bạn.

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

1

chỉ cần loại bỏ .bundle thư mục trong đường dẫn của bạn ứng dụng

Các vấn đề liên quan