Идеальный каталог для глобальной установки npm на CentOS 7 - PullRequest
0 голосов
/ 12 января 2019

У меня есть производственная установка CentOS 7, которая устанавливает глобальные пакеты в /root/node_modules. Таким образом, они не будут доступны глобально в системе. Корень npm также подтверждает это. Конечно, я мог бы установить с префиксом или любым другим взломом NVM; но я бы предпочел не.

Я также пытался установить глобально необходимые пакеты как локальные devDependencies. Одним из побочных эффектов было то, что модуль кластера pm2 не вызывал процессы на всех моих ядрах, как я видел на своем другом сервере разработки CentOS, и я установил и использовал node / npm на большем количестве систем, чем я считаю, большинство быть Linux / CentOS машинами.

NPM заявляет , что глобальные пакеты будут сохранены "в /usr/local или там, где установлен узел". Это то, что я ожидаю, поэтому я пытаюсь немного подправить редактор конфигурации, но безуспешно. Кажется, что независимо от того, что я делаю, глобальные пакеты сохраняются в /root/node_modules и не могут быть расположены в системе, например, which nodemon. Я разместил этот вопрос на суперпользователе .

1 Ответ

0 голосов
/ 12 января 2019

npm root напечатает каталог, в который будут устанавливаться файлы.

Распечатайте эффективную папку node_modules на стандартный вывод.

Если вы находитесь в ~root, это будет /root/node_modules

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

npm -g root, и это разрешится до /usr/lib/node_modules или аналогичный. npm -g install .. установит пакеты в этот глобальный каталог установки.

Если вы хотите, чтобы локальные пакеты были доступны по всему миру, вы можете установить их в корневой каталог вашей файловой системы. cd / и оттуда npm install .. все пользователи будут иметь доступ на чтение к этой папке по умолчанию. Узел найдет эти пакеты.

Команда whitch найдет двоичные файлы, которые есть в ваших $PATH, а не в пакетах npm. Вы можете создавать символические ссылки в своих \bin и использовать глобальные двоичные файлы, упакованные в npm, например команды CLI.

Примечание. В современных дистрибутивах с systemd вы должны писать службы systemd вместо запуска nodemon, особенно если у вас много систем, работающих постоянно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...