Я пытался обновить 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влияет ли способ установки на конфигурацию? Вариантов очень много .
РЕДАКТИРОВАТЬ : Я понял, что в моем файле были созданы символические ссылки /usr/local/bin, но мой .bash_profileбыл настроен /usr/local/share/npm/binраньше, чем /usr/local/binв моем $PATH. Я смутно помню, как когда-то добавлял этот путь в свой профиль, но не знаю почему.
Итак, теперь возникает вопрос: как я получил два разных node_modulesкаталога на моем компьютере и почему я должен иметь свой node_modulesв share/npm/libподкаталоге, а не прямо в нем /usr/local/lib?