Я намагався здійснити оновлення phonegap
через, npm
коли у мене почалися проблеми. Коротше кажучи, node_modules
на моєму комп’ютері є два каталоги.
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
Коли я запускаю npm upgrade -g phonegap
, здається, що npm
оновлює копію пакету, що знаходиться /usr/local/lib/node_modules
. Однак, якщо я which phonegap
виявлю, що символічне посилання вказує на стару установку в /usr/local/share/npm/lib/node_modules
.
Крім того, коли я намагаюся встановити самостійний пакет, наприклад express
, файли встановлюються в /usr/local/lib/node_modules
каталог, але жодне символьне посилання на виконуваний файл не створюється ніде в моєму $PATH
.
Два питання:
- Який відповідний каталог для вузлових модулів у Mac OS X?
Як налаштуватиnpm
прив’язку виконуваних файлів до мого,$PATH
коли він встановлює програмне забезпечення?
Бонусні бали: Чи впливає спосіб встановлення node
на конфігурацію? Варіантів дуже багато .
EDIT : Я зрозумів, що символічні посилання створюються в моєму /usr/local/bin
, але моє .bash_profile
було налаштовано /usr/local/share/npm/bin
наперед із /usr/local/bin
мого $PATH
. Я неясно пам’ятаю, що колись додав цей шлях до свого профілю, але не знаю, чому.
Отже, зараз виникає запитання: як у мене з’явилися два різні node_modules
каталоги на моєму комп’ютері і чому я хотів би мати їх node_modules
у share/npm/lib
підкаталозі, а не прямо /usr/local/lib
?