2010-04-12 33 views
60
[email protected]:~> gem install hpricot 
ERROR: While executing gem ... (Gem::FilePermissionError) 
    You don't have write permissions into the /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 directory. 

Người dùng đăng nhập hiện tại là qichunren và người dùng qichunre có quyền ghi với .gem dir.I muốn biết tại sao không cài đặt tệp vào thư mục nhà của tôi .gem? Tại sao đá quý thường muốn đầu tiên của tôi để cài đặt các file vào /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8vấn đề về quyền cài đặt đá quý

Trả lời

33

Để cài đặt Ruby toàn hệ thống, hãy trở thành root. Ví dụ:

$ sudo gem install hpricot 

Tuy nhiên, cách tiếp cận hiện đại trong nhiều trường hợp, kể cả trong phát triển, là sử dụng một công cụ cho phép bạn dễ dàng cài đặt và sử dụng Ruby như một người dùng bình thường. Điều này cho phép bạn tránh phải trở thành root. Có một vài công cụ như vậy và công cụ tôi sử dụng là RVM.

# install rvm into your ~ 
$ \curl -sSL https://get.rvm.io | bash -s stable 

# install latest version of ruby into your ~ 
$ rvm install ruby 

# installs a gem into your ~ 
$ gem install $SOME_GEM_NAME 
+36

Không sử dụng sudo vì bạn sẽ cài đặt chúng dưới dạng root và không có quyền truy cập vào chúng khi bạn đang sử dụng người dùng thông thường. Sử dụng RVM và đá quý. – rxgx

+4

ví dụ: 'rvm gem install hpricot' – AJP

+1

$ \ curl -L https://get.rvm.io –

124

Hãy thử thiết lập GEM_HOMEGEM_PATH-~/.gem,

Đối với phiên cuối hiện nay, chỉ cần gõ:

export GEM_HOME=~/.gem 
export GEM_PATH=~/.gem 

Nếu bạn muốn những được thiết lập bất cứ khi nào bạn mở một thiết bị đầu cuối, thêm các lệnh ở trên để tập ~/.bashrc của bạn.

Để có giải pháp toàn diện hơn để thiết lập môi trường ruby ​​tùy chỉnh, hãy xem this tutorial from Site5KB, mô tả bằng cách sử dụng tệp .gemrc.

+1

An toàn hơn nhiều! Cảm ơn! – Munhitsu

+6

Đây là câu trả lời đúng thực tế. Đừng đi wielding sudo cài đặt những thứ nếu bạn không phải. –

+0

Liên kết trong câu trả lời dường như đã thay đổi. Bước đầu tiên từ hướng dẫn này thực hiện cùng một điều cho tôi mặc dù: http://kb.site5.com/ruby-on-rails/how-to-setup-a-custom-rubygems-environment –

2

Nếu bạn đang sử dụng rbenv và điều này đang xảy ra, bạn cần phải thêm dòng sau vào .bash_profile của bạn:

export RBENV_ROOT="$HOME/.rbenv" 

if [ -d $RBENV_ROOT ]; then 
    export PATH="$RBENV_ROOT/bin:$PATH" 
    eval "$(rbenv init -)" 
fi 
1

tôi đã nhận lỗi này trên máy chủ chia sẻ của tôi thông qua 1and1 hosting. giải pháp của tôi đã thêm tùy chọn --user-install, chỉ cài đặt nó cho người dùng đã đăng nhập của bạn (tất cả những gì bạn cần trong môi trường máy chủ được chia sẻ) ví dụ; cài đặt sass

gem install sass --user-install 
Các vấn đề liên quan