Я намагався здійснити оновлення 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?