Jestem początkującym i próbując przygotować mojego Macbooka Pro (początek 2011 r., 4 GB RAM) na zajęcia online (Python do analizy danych sekwencjonowania DNA) najwyraźniej zrobiłem coś złego. Najpierw pobrałem Xcode (v7) ze sklepu App Store. Wybrałem wersję 7, ponieważ znajomy powiedział, że zawieszała się na nim wersja 8, a także przeczytałem, że jedna może mieć obie wersje, jeśli są umieszczone w różnych folderach. Zgodziłem się na licencję Xcode, a następnie zainstalowałem Homebrew, uruchamiając skrypt ze strony Homebrew w Terminalu. Zainstalowano pomyślnie. Następnie próbowałem wstawić katalog Homebrew na początku ścieżki. Zrobiłem to, najpierw tworząc plik .bash_profile, otworzyłem plik i wstawiłem: eksport PATH = / usr / local / bin: / usr / local / sbin: $ PATH. Wtedy wszystko zamarło i nie mogłem zrestartować się ani wymusić wyjścia. Czekał, aż moc umrze, a następnie ładował. Komputer działa teraz bardzo wolno, a podgląd nie zostanie zamknięty (próbował wielu sposobów wymuszenia wyjścia). Podgląd nie pozwoli na ponowne uruchomienie lub zamknięcie systemu. Czy problem polega na pobraniu niewłaściwej wersji oprogramowania, a może na zakłóceniu ścieżki? Wszelkie pomysły na rozwiązanie bezpośredniego problemu z podglądem i ogólne wskazówki dotyczące instalacji oprogramowania będą mile widziane.
1
Odpowiedzi:
Na początek, jeśli edytujesz
.bash_profile
w folderze użytkownika, nie powinien on być w stanie powodować problemów ogólnosystemowych, najbardziej odczuwasz brak możliwości uruchomienia oprogramowania zainstalowanego przez Homebrew, jeśli pomyliłeś linię. Jednak dla bezpieczeństwa usunę tę linię z twojego profilu bash, jeśli to możliwe. Oprogramowanie Homebrew automatycznie łączy się z katalogami/usr/bin/
i/opt/local/
, więc nie musisz nic dodawać do zmiennej $ PATH, aby działało poprawnie.Jeśli chodzi o Xcode, jestem na Sierra, a wersja 8 działała dla mnie dobrze, ale wersja 7 była wyjątkowo błędna, gdy działałem El Capitan. Nie wspominając o tym, że wersja 8 ma około połowy rozmiaru wersji 7, więc zaleciłbym odinstalowanie wersji 7 i zastąpienie jej wersją 8.
W szczególności w przypadku Homebrew występuje problem polegający na tym, że wymaga zarówno aplikacji Xcode, jak i narzędzi wiersza poleceń Xcode (szybkie wyszukiwanie pokaże, jak zainstalować je z terminalu), więc jeśli nie masz obu, może to powodować problemy.
Wreszcie, czy masz wyłączoną ochronę integralności systemu? Niektóre funkcje Xcode wymagają uruchomienia roota, a aplikacja Xcode może dokonywać zmian w systemie, nawet jeśli SIP jest włączony. Z drugiej strony Homebrew wymaga uprawnień roota do prawidłowej instalacji, ale odmówi dostępu do modyfikacji systemu podstawowego, jeśli SIP jest włączony, więc możliwe jest, że Homebrew wprowadził pewne modyfikacje systemu za pomocą Xcode, niektóre modyfikacje folderów głównych niechronionych SIP, i odmówiono mu dostępu do modyfikacji folderów głównych chronionych SIP, co spowodowało, że system został częściowo zmodyfikowany, częściowo połączony i ogólnie niestabilny. Możesz sprawdzić, czy SIP jest włączony (jeśli nie wiesz), uruchamiając polecenie
csrutil
w terminalu. Jeśli jest włączony i masz ostatnią kopię zapasową maszyny czasu, zaleciłbym ponowne uruchomienie na partycji odzyskiwania, przywrócenie systemu z kopii zapasowej, otwarcie terminala podczas odzyskiwania, uruchomieniecsrutil disable
i ponowne uruchomienie na macOS. Stamtąd zainstaluj narzędzia wiersza polecenia Xcode, jeśli ich nie masz, i spróbuj ponownie wykonać proces z Xcode 8. Chociaż nie jest to na pewno problem, SIP może powodować problemy, gdy jest używany z oprogramowaniem modyfikującym system, a przede wszystkim dlatego, że masz wystarczającą wiedzę IT, aby zainstalować Xcode i menedżera pakietów wiersza poleceń. wyłączanie go z reguły jest bezpieczne.źródło
/usr/local/bin/
, ale nie/usr/bin
. Możesz zrobić,brew --prefix
aby potwierdzić, że Homebrew faktycznie ogranicza się tylko do działania/usr/local
, co nigdy nie jest kontrolowane przez SIP (spróbujls -lAO /usr
potwierdzić; zwróć uwagę, że opcja jest wielką literąO
). W związku z tym Homebrew nie powinien próbować modyfikować niczego, co jest objęte SIP. Co dokładnie sprawia, że myślisz, że Homebrew próbuje tego dokonać? Ponadto, zakładając, że SIP jest włączony, co rozumiesz przez to, że Xcode może dokonywać „zmian w systemie”?