Lỗi homebrew trong OS X. Trình thông dịch xấu: Quá nhiều cấp độ liên kết tượng trưng. Lỗi không xác định: 0


1

Tôi đã tìm kiếm câu trả lời cho vấn đề này trong vài tuần nay và trong khi tôi đã thấy những vấn đề tương tự, không có vấn đề nào tôi tìm thấy giống hệt như lỗi tôi gặp phải. Tôi đã thử gỡ cài đặt và cài đặt lại Homebrew nhưng không có kết quả. Tôi không phải là người dùng có kinh nghiệm nhất trong thế giới bash script và dòng lệnh nói chung, vì vậy hãy nhẹ nhàng với tôi.

Tôi đang chạy Mac OS X 10.10.1 Yosemite.

Dù sao, bất cứ khi nào tôi cố gắng chạy một lệnh brew dưới bất kỳ hình thức nào, tôi đều gặp phải lỗi sau-

PJs-iMac:~ peterjohnjoseph$ brew doctor
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby: bad interpreter: Too many levels of symbolic links
/usr/local/bin/brew: line 28: /usr/local/Library/brew.rb: Undefined error: 0

Kịch bản usr / local / bin / brew của tôi trông như thế này -

    #!/bin/sh

chdir () {
  cd "$@" >/dev/null
}

BREW_FILE_DIRECTORY=$(chdir "${0%/*}" && pwd -P)
export HOMEBREW_BREW_FILE="$BREW_FILE_DIRECTORY/${0##*/}"

BREW_SYMLINK=$(readlink "$0")
if [ -n "$BREW_SYMLINK" ]
then
    BREW_SYMLINK_DIRECTORY=$(dirname "$BREW_SYMLINK")
    BREW_FILE_DIRECTORY=$(chdir "$BREW_FILE_DIRECTORY" &&
                          chdir "$BREW_SYMLINK_DIRECTORY" && pwd -P)
fi

BREW_LIBRARY_DIRECTORY=$(chdir "$BREW_FILE_DIRECTORY"/../Library && pwd -P)

# Users may have these set, pointing the system Ruby
# at non-system gem paths
unset GEM_HOME
unset GEM_PATH

BREW_SYSTEM=$(uname -s | tr "[:upper:]" "[:lower:]")
if [ "$BREW_SYSTEM" = "darwin" ]
then
    exec "$BREW_LIBRARY_DIRECTORY/brew.rb" "$@"
else
    exec ruby -W0 "$BREW_LIBRARY_DIRECTORY/brew.rb" "$@"
fi

Một điều khác là, tôi đang tìm thấy thứ gì đó có vẻ không phù hợp với tôi (nhưng tôi có thể sai) trong các thư mục / System / L Library / Frameworks / Repy.framework / Warions / Cản / usr / bin / ruby.

Trước hết, khi nhấp vào ruby.framework / Phiên bản, nội dung là bí danh cho 1.8 (điều này có nghĩa là ở đó nếu 2.0 được cài đặt mặc định với os x 10.10? Bí danh cũng cho biết không thể tìm thấy mục gốc), một thư mục 2.0 và bí danh "Hiện tại" khi nhấp vào cho biết không thể tìm thấy mục gốc. Bên trong thư mục 2.0, bí danh "Hiện tại" cũng không thể tìm thấy mục gốc.

Có bất cứ điều gì trong số này không, và nó có liên quan gì đến lý do tại sao tôi gặp phải lỗi Homebrew không? Điều này có thể cực kỳ đơn giản và tôi chỉ cần xóa một dòng khỏi một tập tin, hoặc nó có thể lớn hơn và liên quan đến các vấn đề tiềm ẩn mà tôi tìm thấy ở trên. Mọi sự trợ giúp sẽ rất được trân trọng. Tôi có một số thứ tôi cần cài đặt trong tuần này, vì vậy tôi đang thử mọi cách có thể để tìm và giải quyết vấn đề này. Tôi sẽ cung cấp cho bạn bất kỳ thông tin nào bạn cần để giúp bạn giúp tôi.

Cảm ơn

Chỉnh sửa: 1/9/15 lúc 1:29 để đáp lại David X-

Cảm ơn David, tôi rất vui khi được đăng kết quả. Cảm ơn bạn đã thử bất cứ điều gì cả. -

PJs-iMac:~ peterjohnjoseph$ ls -l /usr/local/Library/brew.rb
-rwxr-xr-x  1 peterjohnjoseph  admin  5284 Jan  9 10:06 /usr/local/Library/brew.rb

PJs-iMac:~ peterjohnjoseph$ ls -l /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
ls: /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby: Too many levels of symbolic links

PJs-iMac:~ peterjohnjoseph$ head -1 /usr/local/Library/brew.rb
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

PJs-iMac:~ peterjohnjoseph$ ls -ld /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
ls: /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby: Too many levels of symbolic links

PJs-iMac:~ peterjohnjoseph$ ls -l /System/Library/Frameworks/Ruby.framework/Versions/
total 16
lrwxr-xr-x  1 root  wheel    7 Dec 30 08:44 1.8 -> Current
drwxr-xr-x  8 root  wheel  272 Dec 30 08:46 2.0
lrwxr-xr-x  1 root  wheel    3 Dec 25 01:21 Current -> 1.8

Tôi giả sử điều này có nghĩa là Ruby.framework / Phiên bản / Hiện tại / usr / bin / ruby ​​là nguyên nhân gây ra điều này. Tôi không biết đây có phải là bất cứ điều gì mà bạn hoặc bất kỳ ai khác có thể làm việc cùng không, nhưng như tôi đã nói, mọi thứ đều được đánh giá cao.

Tôi không biết điều này có giúp ích gì không, nhưng như tôi đã nói trước đó, thư mục /System/L Library / Frameworks / Repy.framework / Warions / chỉ chứa 3 mục; bí danh là 1.8 (không thể tìm thấy bản gốc), thư mục cho 2.0 và bí danh cho "Hiện tại" (cũng cho biết không thể tìm thấy bản gốc khi cố gắng Hiển thị Bản gốc).

Cảm ơn một lần nữa.


"Tôi đã mở tệp usr / local / bin / brew" Không, bạn đã thực hiện nó và nhận được cùng một lỗi mà bạn gặp phải (có lẽ là) bất cứ khi nào bạn thực hiện nó. Bạn cần sử dụng cat /usr/local/bin/brewđể xem nội dung của nó (giả sử nó thực sự là một tập lệnh).
David X

Tôi nói với bạn rằng tôi là người mới .. Tôi đang cập nhật bài viết của mình để bao gồm nội dung của nó.
Peter John Joseph

đủ công bằng, tôi không quen thuộc với OSX hay brew, nhưng chúc may mắn.
David X

Trên thực tế, cũng có thể đăng kết quả của ls -l /usr/local/Library/brew.rb /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/rubyhead -1 /usr/local/Library/brew.rb?
David X

Chắc chắn có thể. Chỉnh sửa ngay. Giống như tôi đã nói trong bài viết, cảm ơn bạn rất nhiều vì đã cố gắng.
Peter John Joseph

Câu trả lời:


0

['Chính thức' câu trả lời để tóm tắt một số gỡ lỗi trong các nhận xét câu hỏi]

Hóa ra /System/Library/Frameworks/Ruby.framework/Versions/Current, đó phải là một liên kết tượng trưng cho phiên bản mới nhất ( 2.0), 1.8thay vào đó là một liên kết tượng trưng , vì lý do nào đó, chính nó đã trở thành một liên kết tượng trưng Current, gây ra một vòng lặp vô hạn cố gắng giải quyết liên kết tượng trưng thay vì đó là một liên kết vô tận lỗi "1.8 bị thiếu hoặc hỏng" hữu ích.

Giải pháp là sửa chữa Currentđể chỉ đến 2.0một lần nữa:

$ cd /System/Library/Frameworks/Ruby.framework/Versions/
$ ln -sfT 2.0 Current
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.