По какому назначению 'npm install -g xxx' устанавливается?

Например, npm install -g sinopia

На Windows7 я установлю команду sinopia и связанные модули внутри C:\Users\xxxx\AppData\Roaming\npm.

На Redhat5 мой узел и команда npm находятся в /usr/local/clo/ven/node-v4.2.3-linux-x64/bin. Когда я запускаю 'npm install -g sinopia', по умолчанию, sinopia была установлена ​​в текущем каталоге как npm и узел, как показано ниже.

Но в настоящее время у меня есть машина Linux, на которой установлен синопия другим человеком. Я не могу найти сценарий запуска sinopia внутри узла / bin, и я могу найти вещи, связанные с sinopia, как показано ниже. , Где я могу найти стартовый сценарий синопии? Можно ли настроить расположение установки 'npm install -g xxx'?

2 ответа

Решение

npm устанавливает пакеты глобально в свой установленный глобальный "корень". Чтобы найти глобальный корень в данной среде, запустите npm root -g,

Обычно он находится внутри каталога "prefix", который вы можете найти npm prefix -g,

Обратите внимание, что вы также можете изменить каталог префикса с помощью npm config -g set prefix </new/prefix/path>,


Чтобы ответить на ваш более конкретный вопрос

Для того, чтобы найти sinopia исполняемый файл, вы можете запустить which sinopia на Linux (вам может потребоваться установить which на RedHat, он должен быть доступен в ваших источниках пакета). Это даст вам путь к файлу, который будет выполнен для sinopia команда.

Но это может быть символическая ссылка на другое место; разрешить путь, который вы можете использовать readlink -f $(which sinopia) на баш. -f вариант говорит readlink переходить по ссылкам рекурсивно. $(which sinopia) будет заменен на выход which sinopia команда.

Быстрое редактирование, как я вижу, уже было дано выше.

Чтобы найти место установки пакетов, установленных глобально через npm, выполните следующее:

npm config получает префикс

чтобы обновить это, вы можете использовать следующую команду:

Путь префикса конфигурации npm

Источник: префикс глобального пути npm

Другие вопросы по тегам