2016-01-19 9 views
5

Sudo, patrząc na to, co widziałem na niektórych forach, właśnie dlatego pojawia się błąd podczas uruchamiania sudo ionic emulate ios w tym poście New to ionic - can’t build for ios (9) on El Capitan, and sudo ionic is required, deprecated npmconf. (Używam El Capitan przy okazji).Polecenia jonowe, npm i cordova wymagają sudo do pracy

Zawsze gdy potrzebuję użyć komendy jonowej, npm lub cordova, zawsze muszę umieścić przed nią sudo, w przeciwnym razie pojawi się błąd "bash command not found". Próbowałem użyć tej poprawki https://www.npmjs.com/package/npm-sudo-fix, ale to nie działa. To co się dzieje w dzienniku:

Dylans-MBP: Ionic Projects Dylana $ sudo npm zainstalować -g NPM-sudo-fix Hasło: /usr/local/bin/sudo NPM-fix ->/usr /local/lib/node_modules/npm-sudo-fix/index.js [email protected]/usr/local/lib/node_modules/npm-sudo-fix └── [email protected] ([email protected]) Dylans-MBP: Ionic Projekty Dylan $ sudo nPM-sudo chown-fix : /users/root/.npm: Nie ma takiego pliku lub katalogu

Odpowiedz

10

Wreszcie wymyślił rozwiązanie poprzez zabawę uprawnienia! Mam nadzieję, że niczego nie spakowałem. (Jestem terminalem noob btw.) W każdym razie, oto rozwiązanie.

uruchomić ten kod tutaj w terminalu (może lub może nie trzeba uruchamiać cd .. przed ręką)

sudo chown -R $USER /usr/local/ 

Zmienia uprawnienia każdej rzeczy wewnątrz folderu lokalnego (stąd -R co oznacza rekurencyjne) . (Znalazłem tę linię gdzieś na forach jonowych).

Teraz trzeba ponownie zainstalować Cordova, a jonowe

sudo npm install -g cordova 
sudo npm install -g ionic 

Dla mnie w każdym razie, po tym, jak to zrobić, mogę wpisać ionic i nie otrzymuję żadnych błędów. Dostaję to w terminalu, jeśli jednak uruchamiam cordova.

/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:53 
       throw err; 
       ^

Error: EACCES: permission denied, open '/Users/Dylan/.config/configstore/update-notifier-cordova.json' 
You don't have access to this file. 

Co zrobiłem, aby rozwiązać ten problem było to zrobić (po otwarciu nowego okna terminala).

sudo chown -R $USER Dylan 

(Dylan jest mój folder użytkownika; zastąpić ją z Ciebie także może być zrobić cd .. przed uruchomieniem tej linii, a to naprawia uprawnienia do tego pliku konfiguracyjnego Teraz działa cordova działa bez błędów! Woot! Ten błąd może jednak powrócić, więc musisz ponownie uruchomić ten wiersz kodu,

Hope to pomaga komuś!

+3

Ta odpowiedź ostatecznie pomogła mi, ale jest nieco sprayem i modlitwą. Bardziej precyzyjny sposób, który działał dla mnie, polegał na aktualizacji uprawnień w folderze 'packages' Cordova. np .: 'sudo chown -R $ USER/Users/ /.cordova/lib/npm_cache/cordova-ios/ /package /' – GraehamF

+0

Jestem pomocny woot! Przydaje się, że uruchamianie tego katalogu dla całego katalogu użytkownika wydaje się łatwiejsze, ponieważ nie musisz przepuszczać wielu rzeczy. – Dylanthepiguy

+0

Musiałem tylko przepuścić ten jeden cordova-ios dir – GraehamF

Powiązane problemy