2012-12-25 36 views
10

Tôi đang cố cài đặt gitlab và do đó cài đặt một số đá quý từ tài khoản người dùng khác bằng sudo, nhưng tôi liên tục gặp lỗi Permission denied.Errno :: EACCES: Quyền bị từ chối khi cài đặt đá quý qua gitlab

sudo -u gitlab -H bundle install --deployment --without development test postgres 

> Using ... (a lot of successful gems there) 
> Using pygments.rb (0.3.2) from https://github.com/gitlabhq/pygments.rb.git (at master) 
> Errno::EACCES: Permission denied - pygments.rb-0.3.2.gem 
> An error occurred while installing pygments.rb (0.3.2), and Bundler cannot continue. 
> Make sure that `gem install pygments.rb -v '0.3.2'` succeeds before bundling.\ 



sudo -u gitlab -H gem install pygments.rb -v '0.3.2' 

> Successfully installed pygments.rb-0.3.2 
> 1 gem installed 
> Installing ri documentation for pygments.rb-0.3.2... 
> Installing RDoc documentation for pygments.rb-0.3.2... 
# no matter how many times I run this command, I always get the same output 
# as if the gem installation doesn't stick 


# I've tried to chmod 
chmod 777 -R /usr/local/lib/ruby 



# then Again 
sudo -u gitlab -H bundle install --deployment --without development test postgres 
# same result, Errno::EACCES: Permission denied - pygments.rb-0.3.2.gem 
+0

Bạn đã cố gắng chỉ là 'su - gitlab' để đăng nhập như người dùng và sau đó chạy các lệnh và khi bạn đã hoàn tất logout ? Nó có thể dễ dàng hơn. – iain

+0

Đúng. Tôi đã làm. Cùng một kết quả ('Errno :: EACCES: Quyền bị từ chối - pygments.rb-0.3.2.gem') – Alex

+1

Bạn có thể thử sử dụng dự án địa phương dirs cho bin và gem dirs. Tôi làm điều đó trên tất cả các dự án của tôi ngay bây giờ ví dụ: 'cd/home/gitlab/gitlab' sau đó' bundle install --binstubs --path vendor' (như gitlab) và tất cả các gem đi vào ./vendor và tất cả các exe trong ./bin, liên quan đến gốc của dự án. – iain

Trả lời

13

Đã đề nghị thử cài đặt các gói vào một thư mục phụ khác. Khi điều đó xảy ra, nó trở nên rõ ràng vấn đề là về quyền trong thư mục hiện hành.

Thi hành chown -R gitlab:gitlab . đã giải quyết được sự cố.

Trong hướng dẫn cài đặt gitlab có lệnh gem install trước câu chuyện của chúng tôi đã được chạy dưới dạng gốc và có thể là gemfile hoặc một số tệp khác có quyền thay đổi trong đó.

+3

Không bao giờ thay đổi tất cả các quyền hoặc chủ sở hữu trong tất cả các thư mục và thư mục con trừ khi bạn thực sự biết những gì thay đổi. – Tecnocat

8

Đây là lỗi quyền trong rym ruby-2.0.0-p195 với gói cài đặt

bạn đang sử dụng rvm? bạn đã thử chmod với sudo?

chmod 755 (or 777) ~/.rvm/gems/ruby-2.0.0-p195/build_info/

0

Hãy chắc chắn rằng bạn Gemfile.lock được sở hữu bởi người sử dụng chạy các lệnh

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