2012-06-18 42 views
5

Tôi bắt đầu cố gắng thiết lập cài đặt đường ray cục bộ để phát triển. Sau khi tôi cài đặt bằng cách sử dụng apt-get, tuy nhiên, tôi đã tìm hiểu về RVM, vì vậy tôi đã xóa phiên bản cũ hơn và được cài đặt lại từ RVM. Dường như tôi có vấn đề còn sót lại. Cụ thể, khi tôi cố gắng để cài đặt đường ray tôi nhận được ...Lỗi quyền đối với đá quý RVM

$ gem install rails 
ERROR: While executing gem ... (Gem::FilePermissionError) 
    You don't have write permissions into the /var/lib/gems/1.9.1 directory. 

này đã trông giống như một vấn đề, bởi vì tôi không muốn nó được trong thư mục/var/thư mục, tôi muốn nó được trong thư mục người dùng. Vì vậy, tôi kiểm tra như sau ...

$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.11 
    - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1 
    - RUBY EXECUTABLE: /usr/bin/ruby1.9.1 
    - EXECUTABLE DIRECTORY: /usr/local/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /var/lib/gems/1.9.1 
    - /home/myusername/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

Cũng như sudo'd:

$ sudo gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.11 
    - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1 
    - RUBY EXECUTABLE: /usr/bin/ruby1.9.1 
    - EXECUTABLE DIRECTORY: /usr/local/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /var/lib/gems/1.9.1 
    - /home/myusername/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

đá quý dường như sống trong/var/lib đối với một số lý do. Điều này có bình thường không? Làm thế nào tôi có thể sửa lỗi này để tôi có thể cài đặt đá quý đường ray?

EDIT: CẬP NHẬT!

Dường như với tôi rằng tôi đã cài đặt đá quý hai lần, một lần trong /var/lib/gems/1.9.91 (xấu) và một lần trong /home/myusername/.gem/ruby/1.9.1 (tốt) .

Tôi nghĩ rằng những gì đang xảy ra ở đây là khi tôi nhập "đá quý", việc cài đặt trong /var/lib/gems/1.9.1 (xấu) sẽ được ưu tiên hơn /home/myusername/.gem/ruby/1.9. 1 (tốt). Có ai có thể xác nhận điều đó không? Ngoài ra, nó sẽ được OK và sửa chữa những thứ chỉ để xóa các thư mục xấu, hoặc sẽ gây ra vấn đề?

+0

Ai đó có thể sẽ cần 'ls -la/var/lib/gems/1.9.1' từ dòng lệnh để tìm ra các quyền hiện tại trên thư mục. Cũng có lẽ 'whoami' để xem người dùng hiện tại. – buley

+0

Quyền là 755, nhưng tôi nghĩ rằng vấn đề là tôi muốn có cài đặt này bên ngoài của var, phải không? var phải được sở hữu bởi root. Điều này không nên được đặt trong thư mục home/username? – Mittenchops

Trả lời

7

Bạn bỏ lỡ sử dụng ruby, bạn có thể làm điều đó với:

rvm use 1.9.3 --install 

Trong trường hợp 1.9.3 không được cài đặt, lệnh này cũng sẽ cài đặt nó!

Có vẻ như bạn đang sử dụng Ubuntu, đảm bảo bạn không sử dụng RVM từ gói Ubuntu - điều đó đã bị hỏng! Bạn có thể tìm hướng dẫn cách khắc phục sự cố tại đây: https://stackoverflow.com/a/9056395/497756

+0

Tôi cũng sẽ xem [rvmrc files] (https://rvm.io//workflow/rvmrc/), có thể hữu ích khi tự động sử dụng các phiên bản của ruby ​​và gemets khi bạn duyệt qua hệ thống tệp của mình. –

+0

Tôi nghĩ rằng không có nghiên cứu nào cả, bắt đầu tốt nhất là tại https://rvm.io, nó cung cấp tập hợp thông tin tốt nhất - được cập nhật để phản ánh tình trạng hiện tại của RVM. – mpapis

+1

'$ rvm use 1.9.3 --install RVM không phải là một chức năng, chọn hồng ngọc với 'sử dụng rvm ...' sẽ không hoạt động. Bạn cần thay đổi cài đặt đầu cuối để cho phép đăng nhập hệ vỏ. Vui lòng truy cập https://rvm.io/workflow/screen/ ví dụ.' – Mittenchops

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