Tôi đã cài đặt ruby 1.9.3 bằng hombrew
pha cài đặt ruby
Nhưng 1.8.7 mặc định vẫn được sử dụng. Làm cách nào để chuyển osx sang sử dụng 1.9.3 làm ruby mặc định?
Tôi đã cài đặt ruby 1.9.3 bằng hombrew
pha cài đặt ruby
Nhưng 1.8.7 mặc định vẫn được sử dụng. Làm cách nào để chuyển osx sang sử dụng 1.9.3 làm ruby mặc định?
Câu trả lời:
Tôi đề nghị bạn hãy xem qua rvm . Sau đó, bạn có thể đặt nó làm mặc định vớirvm use 1.9.3 --default
Nhưng nếu bạn hài lòng với cài đặt homebrew của mình.
Sau đó, chỉ cần thay đổi mức độ ưu tiên của các thư mục trong PATH
Đây là / etc / path của tôi
# homebrews should always take precedence
/usr/local/bin
# the default stack
/usr/bin
/bin
/usr/sbin
/sbin
Điều này nói chung là quan trọng đối với homebrew, nếu không thì phiên bản hệ thống của git, ruby, pg_admin, ... sẽ được sử dụng thay vì phiên bản brew.
nếu bạn nói rằng which -a ruby
bạn sẽ thấy tất cả các viên hồng ngọc đã được cài đặt và mức độ ưu tiên trongPATH
ví dụ.
$ which -a ruby
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/matthew/.rvm/bin/ruby
/usr/bin/ruby
/etc/paths
Thay vào đó bạn cần phải kiểm tra đó của .profile
, .bashrc
hoặc .bash_login
đang được nạp vào shell của bạn, và chỉ cần thêm /usr/local/bin
vào đường dẫn của bạn.
Đối với tôi, tôi chỉ có một .profile
. Bạn có thể tạo tệp đó nếu không có tệp nào trong số đó đã tồn tại trong thư mục chính của bạn.
# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
brew upgrade git
, Nhưng phiên bản không thay đổi lần lượt ra tôi không bao giờ được sử dụng phiên bản brew.)
CÂU TRẢ LỜI NGẮN:
sau khi cài đặt ruby qua homebrew chỉ cần thực hiện điều này:
brew link --overwrite ruby
và khởi động lại hoặc mở lại Thiết bị đầu cuối của bạn
CÂU TRẢ LỜI DÀI
Vì vậy, tôi đã thực hiện cài đặt bình thường của ruby bằng homebrew
brew install ruby
cài đặt tốt NHƯNG nó vẫn đang sử dụng ruby mặc định của hệ thống. mà tôi đã xác minh bằng cách thực hiện:
which ruby
#/usr/bin/ruby
Vì vậy, theo gợi ý của Matthew Rudy, tôi đã kiểm tra thứ tự các đường dẫn / etc / của mình, và tất cả đều tốt.
Sau đó, tôi quyết định làm:
which -a ruby
#/usr/bin/ruby
#usr/local/bin/ruby
vì vậy không có gì bị hỏng như vậy. đã cố gắng cài đặt lại ruby bằng phương pháp homebrew và sau đó tôi đã tìm thấy nó.
Homebrew đã đề cập:
Warning: ruby-2.3.1 already installed, it's just not linked
vì vậy phải làm:
brew link --overwrite ruby
ruby --version
phiên bản iTerm của bạn, nếu không sẽ hiển thị cho bạn một phiên bản lỗi thời.
hash -r
?
Nếu bạn muốn sử dụng homebrew để cài đặt 1.9.3, bạn có thể làm theo các bước sau:
$ brew update
$ brew install rbenv
$ brew install ruby-build
Khi bạn đã cài đặt rbenv và ruby-build, bạn có thể chạy lệnh sau để cài đặt Ruby 1.9.3.
$ rbenv install 1.9.3-p125
Bây giờ nếu bạn muốn sử dụng 1.9.3 theo mặc định, bạn có thể chạy lệnh sau:
$ rbenv global 1.9.3-p125
Tôi đã có tình huống tương tự. Tôi đã cài đặt ruby bằng Homebrew. which -a ruby
đã cho tôi kết quả sau:
#usr/local/bin/ruby
#/usr/bin/ruby
Có nghĩa là phiên bản mới cài đặt lẽ ra đã được sử dụng, nhưng ruby --version
vẫn trả về phiên bản hệ thống cũ.
Tôi thoát khỏi thiết bị đầu cuối (Cmd + Q) và sau khi khởi động lại đã ruby --version
trả về phiên bản chính xác. Vì vậy, hãy đảm bảo rằng bạn khởi động lại thiết bị đầu cuối sau khi cài đặt trước khi thử bất kỳ bản sửa lỗi nào khác (có thể không cần thiết).
RÚT GỌN: Hãy ghi lại những gì bạn muốn thay đổi nó.
Nếu bạn đang sử dụng OS X và cố gắng sử dụng Ruby cho một cái gì đó như Jekyll, thì đừng sử dụng homebrew vì đó là những gì Apple đang sử dụng cho Ruby và có thể không tốt khi sử dụng nếu bạn không chắc mình đang làm. Thay vào đó, hãy sử dụng rbenv hoặc RVM.
ÍT RÚT GỌN: Tôi đã cố gắng chuyển từ phiên bản mặc định sang phiên bản cập nhật (từ 2.0) để sử dụng Jekyll vì nó yêu cầu phiên bản Ruby 2.2.5 trở lên. Tôi đã cập nhật nó và phiên bản 2.5 đã được cài đặt, nhưng khi tôi kiểm tra "ruby -v", nó vẫn là 2.0. Cuối cùng khi tôi đã thay đổi được phiên bản mặc định, tôi không thể cài đặt gói mà tôi cần vì tôi không có quyền ghi. Ví dụ: nếu bạn gặp một cái gì đó như thế này, thì có thể bạn đang gặp phải vấn đề tương tự
$ gem install jekyll bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
Chỉ là một cách tiếp cận thay thế cho bất kỳ ai khác đang tìm kiếm câu trả lời cho điều này - bạn có thể đặt bí danh trong .bash_profile của mình, ví dụ:
ruby="/usr/local/bin/ruby"
đây là cách tôi giải quyết vấn đề