Làm cách nào để khắc phục lỗi Bạn không có quyền ghi vào thư mục / usr / bin Lỗi khi cài đặt Rails?


131

Tôi đang cố gắng cài đặt Rails 3 trên MacBook Pro hoàn toàn mới chạy OS X 10.6.3, Ruby 1.8.7 và Rails 2.3.5 và tôi tự hỏi liệu tôi có tự lừa mình không. Cho đến nay, tôi đã chạy các lệnh này:

$ gem update --system
$ gem install arel tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
$ gem install rails --pre

Tuy nhiên, khi tôi chạy lệnh cuối cùng, tôi gặp lỗi này:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /usr/bin directory.

Tôi nghĩ rằng nó muốn tôi chạy lệnh sudođể nó có thể viết /usr/bin/rails. Nhưng nếu tôi làm điều đó, tôi sẽ không ghi đè Rails 2.3.5 có thể thực thi được không? Tôi không muốn làm điều đó. Thay vào đó, tôi muốn giữ cả hai phiên bản của Rails. Làm thế nào để làm điều đó?


5
Tôi đã nhận được lỗi tương tự trên lệnh đầu tiên, sử dụng lệnh nàysudo gem update --system -n /usr/local/bin
nitish005

1
-N là gì?
Scott Romack

Chỉ cần đặt nó ra ở đây mà chỉ cần khởi động lại thiết bị đầu cuối đã giải quyết điều này cho tôi.
tro gỗ

Câu trả lời:


14

Tôi khuyên bạn nên sử dụng RVM, nó cho phép bạn cài đặt nhiều phiên bản Ruby / Rails với các cấu hình đá quý và về cơ bản giữ tất cả các viên đá quý của bạn chứa với nhau. Bạn có thể muốn kiểm tra một bài tương tự Làm thế nào tôi có thể cài đặt Ruby on Rails 3 trên OSX


chỉ làm điều đó giải quyết cho tôi một vấn đề tương tự với cùng một thông báo lỗi
Rich Stone

479

sử dụng -ntham số để cài đặt như cho cocoapods:

sudo gem install cocoapods -n /usr/local/bin

7
Tại sao chúng ta thậm chí cần điều này?
nenchev

28
Thất bại trên MacOS trừ khi bạn chỉ định -n / usr / local / bin. Cảm ơn giải pháp
Sacky San

3
-N có nghĩa là gì?
allenlinli

7
theo guide.rubygems.org/command-reference/#gem-install , -n chỉ định thư mục nơi chứa các tệp nhị phân. Tôi cũng cần -n /usr/local/bintrên máy Mac của mình. Tôi đã chạy which podđể xác định vị trí hiện tại của nó trước khi sử dụng tùy chọn -n thực sự là / usr / local / bin
mwu

3
Tôi chắc chắn RVM rất tuyệt, nhưng đây là câu trả lời tốt hơn trực tiếp giải quyết vấn đề ngay lập tức mà không khiến tôi rơi xuống hố thỏ.
Wayne

61

Sử dụng cờ -n / usr / local / bin không hoạt động, NHƯNG tôi phải quay lại trang này mỗi lần tôi muốn cập nhật lại gói. Vì vậy, tôi đã tìm ra một sửa chữa vĩnh viễn cho điều này.

Đối với những người quan tâm đến việc sửa lỗi này vĩnh viễn :

Tạo một tệp ~ / .gemrc

vim .gemrc

Với nội dung sau:

:gemdir:
   - ~/.gem/ruby
install: -n /usr/local/bin

Bây giờ bạn có thể chạy lệnh của bạn bình thường mà không cần cờ -n.

Thưởng thức!


vim .gemrclàm thế nào để viết cmd này
Chandni

Tôi không chắc điều này sẽ hoạt động trong Window $, nhưng tôi đoán bạn có thể sử dụng Notepad.
Francois Nadeau

Cảm ơn bạn, giống như bạn, tôi đã mệt mỏi khi tìm kiếm hậu tố này mỗi khi tôi cần để cập nhật!
Paul-Etienne

48
sudo gem install cocoapods --pre -n /usr/local/bin

Điều này làm việc cho tôi.


Tôi đã có vấn đề này và câu trả lời này đã làm việc cho tôi! Tôi đã thay thế cocoapodsbằng sự phụ thuộc mà tôi cần
chris

33

Bạn có thể dùng sudo gem install -n /usr/local/bin cocoapods

Điều này làm việc cho tôi.


6

Để sửa lỗi cụ thể của bạn, bạn cần chạy lệnh đó là sudo, nghĩa là:

sudo gem install rails --pre

1
KHÔNG. Sử dụng rvm hoặc rbenv ... không chỉ sudo.
doublejosh

5

Lỗi này đánh tôi sau khi cài đặt RVM chính xác. Giải pháp: khởi động lại Terminal.

Tham khảo hướng dẫn Cài đặt RVM của RailsCast .


Không chính xác 7 năm sau, nhưng điều này cũng hoạt động nếu bạn đang làm việc trên hệ thống con bash windows. Chỉ cần thoát bash và khởi chạy lại. Cảm ơn bạn.
Pedro Madrid

0

Đối với tôi, một cái gì đó khác nhau đã làm việc, mà tôi tìm thấy trong câu trả lời này từ một câu hỏi tương tự. Có lẽ sẽ không giúp được OP, nhưng có lẽ ai đó như tôi cũng gặp vấn đề tương tự.

Bạn thực sự nên sử dụng rvm , nhưng vì không ai giải thích cho bạn cách làm điều này mà không có rvm , bạn hãy vào đây:

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \
  abstract erubis activesupport mime-types mail text-hyphen text-format   \
  thor i18n rake bundler arel railties rails --prerelease --force

-2

Trên macOS High Sierra, điều này đã giải quyết vấn đề của tôi:

sudo gem update --system -n /usr/local/bin/gem
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.