Próbowałem przeprowadzić aktualizację phonegap
przez, npm
kiedy zacząłem mieć kłopoty. Krótko mówiąc, node_modules
na moim komputerze są dwa katalogi.
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
Po uruchomieniu npm upgrade -g phonegap
wydaje się, że npm
aktualizuje kopię pakietu, który znajduje się w /usr/local/lib/node_modules
. Jeśli jednak which phonegap
stwierdzę, że link symboliczny wskazuje na starszą instalację pod adresem /usr/local/share/npm/lib/node_modules
.
Ponadto, gdy próbuję zainstalować samodzielny pakiet express
, na przykład pliki są instalowane w /usr/local/lib/node_modules
katalogu, ale w żadnym miejscu nie jest tworzone żadne dowiązanie symboliczne do pliku wykonywalnego $PATH
.
Dwa pytania:
- Jaki jest właściwy katalog dla modułów węzłów w systemie Mac OS X?
Jak mogę skonfigurowaćnpm
łącze do plików wykonywalnych w moim$PATH
podczas instalowania oprogramowania?
Punkty dodatkowe: czy metoda instalacji node
wpływa na konfigurację? Istnieje wiele opcji .
EDYCJA : Dowiedziałem się, że dowiązania symboliczne są tworzone w moim /usr/local/bin
, ale mój .bash_profile
został skonfigurowany z /usr/local/share/npm/bin
wyprzedzeniem /usr/local/bin
w moim $PATH
. Niewyraźnie pamiętam, jak w pewnym momencie dodałem tę ścieżkę do mojego profilu, ale nie wiem dlaczego.
Pojawia się więc pytanie: jak skończyłem z dwoma różnymi node_modules
katalogami na moim komputerze i dlaczego chciałbym mieć mój node_modules
w share/npm/lib
podkatalogu zamiast bezpośrednio w /usr/local/lib
?