2015-01-19 9 views
7

Próbuję skonfigurować Node.js i NPM na komputerze z Ubuntu 14.04, ale mam pewne problemy. Podczas mojej pierwszej próby ciągle próbowałem instalować pakiety (czasami nawet z sudo), więc całkowicie odinstalowałem węzeł i npm. Teraz próbuję dowiedzieć się, jak zainstalować je w sposób, który nie wymaga, aby uruchomić wszystko sudo i nie da mi błędów EACCES.Jak zainstalować Node i NPM, więc nie muszę używać sudo?

Wolałbym nie używać NVM, a poza tym właśnie znalazłem kilka rozproszonych częściowych odpowiedzi, z których niektóre są ze sobą sprzeczne, lub po prostu używają nieco innej składni.

Byłbym wdzięczny za pomoc w tej sprawie. Właśnie przełączyłem się na Linuksa z Windowsa i próbuję skonfigurować, abym mógł znów zacząć działać.

Odpowiedz

18

Problem, który zgłasza EACCES jest często problem uprawnienia na dwóch folderów:

Nie może być problem uprawnienia na katalogu ~/.npm.

Pełna ścieżka do katalogu "~/.npm" to "/Users/YOUR_USERNAME/.npm"; przechowuje różne funkcje npm. Najprostszym sposobem na uzyskanie dostępu do katalogu domowego w systemie opartym na systemie uniksowym (jak sądzę, na Linuksie) jest wpisanie "cd".

Istnieje również problem z uprawnieniami na/usr/local/lib/node_modules.

Tutaj NPM próbuje przechowywać zainstalowane na całym świecie moduły. Jest to wersja na poziomie systemowym folderu "node_modules", którą można znaleźć w praktycznie każdym projekcie node.js, który tworzysz i instalujesz z zależnościami.

Tak naprawdę stworzyłem pakiet węzłów, który rozwiąże ten problem na macu, chociaż nie jestem pewien co do Linuksa (ponieważ ścieżki do '.npm' i 'node_modules' mogą być inne w Linuksie), możesz dać to strzał? Zasadniczo przywraca to ciebie jako właściciela tych katalogów.

Oto strona GitHub:

https://github.com/yvanscher/fixmynode (tylko krótka notatka ten pakiet może być nieaktualne ze względu na dziwne numerze kompilacji z uzależnienia osenv)

przypadku ponownej instalacji węzła można próbować zmienić uprawnienia się z tych poleceń (które powinny pracować w systemie Linux):

sudo chown -R $(whoami) ~/.npm

sudo chown -R $(whoami)/usr/loca l/lib/node_modules

UWAGA: nie jestem w 100% pewien, że ścieżki '/ usr/local/lib/node_modules' i '~/.npm' są prawidłowe dla węzła Linux opartego/zainstalować npm . Czy możesz opublikować pełny komunikat o błędzie pojawi się w terminalu?

+2

Dzięki, doszedłem do uruchomienia 'chown' na'/usr/local/lib/node_modules', '~/.npm' oraz'/usr/lib/node_modules'. Nadal muszę używać 'sudo' do wszelkich działań globalnych, co jest w porządku, ale poza tym wszystko wydaje się działać sprawnie. –

Powiązane problemy