2017-03-16 29 views
8

Tôi đang chạy lệnhtài khoản người dùng của bạn không được phép cài đặt vào hệ thống RubyGems

bundle install 

trong một thư mục dự án. Trong một số thư mục dự án nó sẽ tạo ra một lỗi và trong các thư mục dự án khác nó sẽ không tạo ra lỗi. Lỗi này là:

tài khoản người dùng của bạn không được phép cài đặt vào hệ thống RubyGems

Tôi biết điều này có thể được sửa chữa bằng cách làm theo những lời khuyên đề nghị:

bundle install --path vendor/bundle 

Câu hỏi của tôi là tại sao hành vi không phù hợp?

+0

Ngoài ra tôi nhận thấy Travis CI chạy chính xác lệnh 'bundle install --jobs = 3 --retry = 3' nhưng nó thực sự được cài đặt ngầm 'vendor/bundle' theo https://docs.travis-ci.com/user/languages/ruby/#Default-Test-Script –

Trả lời

2

Thông thường nếu bạn đang sử dụng RVM, rbenv hoặc chruby để cài đặt Ruby, tất cả các đá quý sẽ được cài đặt trong thư mục nhà của bạn dưới ~/.rbenv/ruby-version/...

Nếu bạn đang sử dụng hệ thống của bạn của Ruby dù (một trong đó đã được cài đặt theo mặc định) các đá quý được cài đặt cùng với nó ở một vị trí mà bạn không có quyền truy cập mà không cần sudo. Tôi có thể đoán rằng người quản lý phiên bản của bạn mặc định là hệ thống của Ruby nhưng một số dự án của bạn có tệp .ruby-phiên bản trong đó bảo nó sử dụng phiên bản Ruby khác mà bạn có quyền truy cập.

0

Trong trường hợp của tôi, tôi đã có một hiện $BUNDLE_PATH mà không đủ quyền truy cập cho người dùng bundler viết trong.

Your user account isn't allowed to install to the system RubyGems 
bundle install --path vendor/bundle 
-1

Xóa

sudo mv ~/.bundle /tmp 

Hãy thử cài đặt lại

bundle install 
+0

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/19033999) –

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