Próbowałem przeprowadzić aktualizację phonegapprzez, npmkiedy zacząłem mieć kłopoty. Krótko mówiąc, node_modulesna moim komputerze są dwa katalogi.
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
Po uruchomieniu npm upgrade -g phonegapwydaje się, że npmaktualizuje kopię pakietu, który znajduje się w /usr/local/lib/node_modules. Jeśli jednak which phonegapstwierdzę, ż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_moduleskatalogu, 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$PATHpodczas instalowania oprogramowania?
Punkty dodatkowe: czy metoda instalacji nodewpł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_profilezostał skonfigurowany z /usr/local/share/npm/binwyprzedzeniem /usr/local/binw 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_moduleskatalogami na moim komputerze i dlaczego chciałbym mieć mój node_modulesw share/npm/libpodkatalogu zamiast bezpośrednio w /usr/local/lib?