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.
ls -l /usr/local/Library/brew.rb /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
và head -1 /usr/local/Library/brew.rb
?
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).