2015-09-29 14 views
26

Więc popełniłem błąd, próbując pozbyć się wszystkich zależności sudo. Pobrałem npm jako pakiet z witryny i wykonałem instalację ręczną/globalną. Ale wydawało mi się, że zawsze muszę biegać z sudo ... więc próbowałem odinstalować i uruchomić z homebrew.Homebrew npm install: could not symlink

Teraz nie mogę dostać się do KMP węzła lub nawet uruchomić ... Chyba muszę się połączyć z wywarem połączyć je, ale ja dostaję ten błąd:

Could not symlink share/doc/node/gdbinit 
Target /usr/local/share/doc/node/gdbinit 
already exists. You may want to remove it: 
    rm '/usr/local/share/doc/node/gdbinit' 

próbowałam usuwania że : Odmówiono mi pozwolenia.

Próbowałem już prażyć piwo z suszonych śliwek. Próbowałem odinstalować, a następnie ponownie zainstalować za pomocą kroki:

$ brew uninstall npm 
$ brew uninstall node 
$ npm uninstall npm -g 
$ sudo rm -rf /usr/local/lib/node_module 

Error: The 'brew link' step did not complete successfully

Używam Yosemite 10.10.5. Mam zainstalowaną wersję git 2.6.0. Mój homebrew jest aktualizowany. Lekarz od parzenia napisz mi to ostrzeżenie:

Warning: You have unlinked kegs in your Cellar 
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on 
those kegs to fail to run properly once built. Run `brew link` on these: 
    node 

Nie wiesz, dokąd się udać. Próbuję stracić moją zależność od CodeKit i zaczynam łapać i biegać.

+0

'Próbowałem usunięcie że: a ja dostał pozwolenie denied.' - To dlatego, że zainstalowany jako root na pierwszym miejscu. Teraz musisz usunąć za pomocą 'sudo rm '/ usr/local/share/doc/node/gdbinit''. Uwaga: Jeśli używasz homebrew, nie instaluj już niczego z 'sudo install' w/usr/local. Spowoduje to ogromny bałagan. – cel

+0

Teraz otrzymuję komunikat "nie może być dowiązaniem symbolicznym share/system/systemtap/tapset/node.stp/usr/local/share/system/tapset nie można zapisać. Próbowałem robić sudo chown -R "username"/usr/local/share/system/tapset, ale to nie zadziałało. – pwhitt

+0

Po prostu usunęłabym wszystkie kolidujące pliki. To trochę dziwaczne, ale dlatego mamy wspaniałych menedżerów pakietów, takich jak hombrew. Ręczne odinstalowywanie jest po prostu zbyt bolesne. – cel

Odpowiedz

81

Wygląda na to, że kilka plików i katalogów w katalogu /usr/local należy teraz do domeny root, ponieważ wykonano kilka kroków, używając sudo. Aby pozbyć się tych, odebrać własność wszystkich plików i katalogów pod /usr/local:

sudo chown -R $USER /usr/local 

Gdy to zrobisz, uruchom brew doctor ponownie.

Podobne pytania można znaleźć tutaj:

+1

Zrobiłeś mój dzień. Próbowałem to naprawić przez chwilę, aż dostaję się do tej odpowiedzi –

+0

Czy można okroić katalog/usr/local, jeśli jest więcej niż jeden użytkownik? – Omtara

+0

Dobre pytanie. Najnowsza wersja Homebrew nie wymaga już "chown", z tego co rozumiem. Jeśli nadal musisz "chown", upewnij się, że wszyscy użytkownicy należą do grupy, która jest właścicielem katalogu, i że grupa ma również uprawnienia do zapisu. – nwinkler

Powiązane problemy