NPM установить глобально пакет в автономном режиме с tarball

Согласно документам npm, это должно работать;

npm install ./package.tgz

Поэтому я пробую это глобально для tar2-файла pm2, который я скачал со страницы репозиториев github pm2;

npm install -g ./pm2-3.2.2.tar.gz

Но я получил это;

npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! network request to https://registry.npmjs.org/@pm2%2fagent failed, reason: getaddrinfo ENOTFOUND nb nb:443
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-01-29T08_16_17_112Z-debug.log

-

npm version: 5.6.0
node version: 9.4.0

Это ошибка?

Есть ли другой способ установить пакет pm2 (и любой другой) в автономном режиме?

1 ответ

Решение

Я узнал, что мне нужно позаботиться и о зависимостях пакета. Я получил решение в этом ответе на подобный вопрос;

Что ж... после дня, когда я пытался заставить его работать с указанными выше ссылками (npmbox или offline-npm), придумал что-то гораздо более простое. Благодаря npmbox я должен сказать. Идея состоит в том, чтобы сохранить кэш из экземпляра, который имеет онлайн-доступ, а затем использовать его в автономном.

В машине с интернетом:

1 - очистить кэш npm: очистить кэш npm

2 - установить пакет, скажем, его xyz: npm install -g package.xyz

3 - скопировать кеш в папку... давайте назовем его как угодно (я предполагаю, что npm кеш находится в корневой папке, не совсем уверен в этом): cp -R /.npm/* / cache- what -folder

В машине без интернета:

4 - перенесите эту папку cache-what-folder в экземпляр без интернета и после этого очистите кеш и установите его (я не буду указывать, как скопировать папку:)

очистка кеша npm

npm install --global --cache / cache- what -folder --optional --cache-min 99999999999 --shrinkwrap false package.xyz

Готово

Ссылка для ответа: https://stackoverflow.com/a/43793301/169534

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