Có thể cài đặt lại / sửa lỗi ruby ​​hệ thống của Mac OS X mà không cần cài đặt lại hệ điều hành hoàn chỉnh không?


15

Có thể không? Tôi đang gặp phải nhiều vấn đề khác nhau ít nhất một lần một tuần kể từ khi nó bị hỏng hoặc một cái gì đó, đặc biệt là với homebrew.

Nếu có thể, nhưng sẽ chỉ là một ý tưởng tốt hơn để bắt đầu từ một bảng xếp hạng sạch sẽ, xin vui lòng cho tôi biết.


Cài đặt PATH của tôi: gist.github.com/506481
LBRapid

Từ đường dẫn của bạn, các mục / opt / local cho thấy bạn cũng có macports. Những gì ruby ​​thể hiện?
dùng151019

Tôi đã cài đặt macports, nhưng sử dụng ruby ​​nào sẽ hiển thị phiên bản ruby ​​rvm. Các vấn đề tôi gặp phải là khi cố gắng sử dụng một cái gì đó như homebrew hoặc autotest
LBRapid

Chỉ cần theo dõi bài viết này: superuser.com/questions/860819/
Mạnh

Câu trả lời:


3

Theo hiểu biết của tôi - vui lòng sửa lỗi cho tôi nếu tôi sai - bạn không phải cài đặt lại tất cả Mac OS X để cài đặt lại hệ thống Ruby của bạn. Như bạn có thể biết, System Ruby sống trong / System / L Library / Frameworks / Repy.framework /. Nếu thư mục đó bị xóa hoặc bị hỏng hoặc nếu các liên kết tượng trưng đến nó bị xóa hoặc thay đổi, bạn sẽ không cài đặt System Ruby hoạt động.

Để khắc phục, hãy thử điều này:

  1. Chèn DVD cài đặt Mac OS X của bạn
  2. Mở thư mục DVD Cài đặt Mac OS X
  3. Mở thư mục Cài đặt tùy chọn
  4. Mở thư mục Xcode Tools
  5. Mở gói XcodeTools. Điều này sẽ khởi động Trình cài đặt công cụ Xcode. Làm theo chỉ dẫn.

Việc lấy Xcode mới nhất cũng không hại gì từ http://developer.apple.com/technology/xcode.html

Tiết lộ đầy đủ: Tôi đã thực hiện các bước này. Tôi khá chắc chắn rằng nó khôi phục Ruby.framework, nhưng nó đã không khôi phục các liên kết tượng trưng (thường là trong / usr / bin) cho tôi.


Giải pháp này khá tốt và mặc dù tôi đã không tuân theo nó, cuối cùng nó đã được đề xuất từ ​​đồng nghiệp. Cuối cùng tôi chỉ cài đặt lại ruby ​​1.8.7 đến / usr / local từ nguồn và sau đó liên kết nó đến nơi mà homebrew cần nó. Tôi chỉ cần rvm và homebrew để có thể hoạt động cho đến khi tôi nhận được một máy tính mới vào tháng tới. Vì vậy, điều này sẽ làm :) Cảm ơn phản hồi của bạn!
LBRapid

1
Bạn có thể vui lòng cập nhật bản này cho Yosemite bằng gói cài đặt AppStore
rraallvv

@rraallvv Tôi không chắc ý của bạn là gì. Tôi có thể đề nghị rằng nếu các bước trên không hiệu quả với bạn, thì (a) cụ thể hơn hoặc (b) tạo câu trả lời mới cho biết điều gì hiệu quả với bạn, hoặc (c) tạo câu hỏi mới, tham khảo câu hỏi này.
David J.

Tôi đã tạo một câu hỏi mới với các chi tiết.
rraallvv

13

Nếu bạn sử dụng Pacifist thì có thể chỉ cần cài đặt lại Ruby.

  1. Chèn DVD OS X của bạn
  2. Chạy Pacifist
  3. Chọn "Mở đĩa cài đặt Apple"
  4. Chọn đĩa
  5. Tìm kiếm "Ruby.framework"
  6. Nhấp chuột phải và chọn "Cài đặt vào vị trí mặc định"

Điều này sẽ cài đặt lại Ruby, để thiết lập các liên kết tượng trưng từ / usr / bin để trỏ đến nó sử dụng Pacifist một lần nữa:

  1. Tìm kiếm "Nội dung của BSD.pkg"
  2. Mở: usr -> bin
  3. Chọn các liên kết và tập tin mà bạn yêu cầu
    • mũ lưỡi trai
    • capify
    • erb
    • trình duyệt chồn
    • đá quý
    • gpgen
    • irb
    • mongrel_rails
    • đường ray
    • cào
    • rb-keygen
    • thứ
    • redcloth
    • ri
    • hồng ngọc
    • kiểm tra
    • update_rubygems
  4. Nhấp chuột phải và chọn "Cài đặt vào vị trí mặc định"

Nói chung, nếu bạn cần tìm ra trình cài đặt nào tệp đến từ hệ thống của bạn trong một thiết bị đầu cuối:

$ pkgutil --file-info /usr/bin/ruby
volume: /
path: usr/bin/ruby

pkgid: com.apple.pkg.BSD
pkg-version: 10.5.0.1.1.1188305148
install-time: 1203610823
uid: 0
gid: 0
mode: 120755

Pkgid sau đó sẽ cung cấp cho bạn một gợi ý và sau đó bạn tìm trình cài đặt đó và chạy lại hoặc sử dụng Pacifist để chọn lọc thực hiện.

Bạn cũng có thể xem những tập tin khác trong gói đó với:

$ pkgutil --files com.apple.pkg.BSD
.
Library
Library/Documentation
Library/Documentation/Commands
Library/Documentation/Commands/grep
...

Tôi đã tìm thấy cách tốt nhất để đối phó với Ruby trên OS X là đưa hệ thống của bạn về trạng thái mặc định theo quy trình trên. Xóa mọi MacPort, Fink hoặc các phiên bản bạn đã biên dịch thủ công. Cài đặt RVM và sử dụng để quản lý cài đặt các phiên bản mới hơn.


Hóa ra tôi đã gỡ bỏ hệ thống Ruby của mình và gặp sự cố khi cài đặt pow ( http://pow.cx ) trên máy mac của tôi vì nó. Vì vậy, tôi đã cài đặt Pacifist và làm theo lời khuyên trong bài đăng này và trở lại kinh doanh. Cảm ơn!


Pacifist (Phiên bản 3.2.17) bị kẹt khi cố gắng cài đặt Ruby.framework trên Yosemite
rraallvv

3

Bài cũ, nhưng tôi chỉ chuyển từ cổng sang homebrew nên ...

Đối với các vấn đề homebrew, tôi đã giải quyết nó bằng cách cài đặt rvm và symlinking. Vì vậy, nếu bạn đã cài đặt rvm, bạn có thể bắt đầu bằng cách nhập:

which ruby

với đầu ra của nó làm một cái gì đó như:

ln -s /Users/username/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/bin/ruby

1

Tôi đã tạo ra một mớ hỗn độn thực sự về cài đặt Ruby của mình trên OSX nhưng tôi đã sử dụng GUI này từ nhóm RVM và quản lý để giải quyết nó với ít nỗ lực và không bị hack trong CLI

http://jewelbox.unfiniti.com


-1

IMO Homebrew( http://brew.sh ) là trình quản lý gói tốt nhất cho OS X.

Để cài đặt Homebrew, hãy làm:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Sau đó

brew install ruby

Làm xong.


9
Để cài đặt Ruby, hãy sử dụng Ruby để cài đặt nó thông qua Homebrew ...
whirlwin
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.