В соответствии с npm docs, это должно сработать;
npm install ./package.tgz
Так что я пробую это глобально для tar-файла pm2, который я скачал с pm2 страница выпусков репозитория github;
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 (и любой другой) в автономном режиме?
Я обнаружил, что мне нужно позаботиться и о зависимостях пакета. Я получил решение в этом ответе аналогичный вопрос;
Что ж .... после дня попыток заставить его работать с указанными выше ссылками (npmbox или offline-npm) пришли к чему-то намного более простому. Я должен сказать спасибо npmbox. Идея состоит в том, чтобы сохранить кеш из экземпляра, имеющего онлайн-доступ, а затем использовать его в автономном режиме.
В машине с интернетом:
1 - очистить кеш npm: очистить кеш npm
2 - установить пакет, скажем, его x.y.z: npm install -g package.x.y.z
3 - скопируйте кеш в папку ... назовем это как угодно (я предполагаю, что кеш npm находится в корневой папке, не совсем уверен в этом): cp -R /.npm/* / кеш-все-папка
В машине без интернета:
4 - перенесите эту кеш-папку в экземпляр без Интернета, а затем очистите кеш и установите с ним (я не буду указывать, как скопировать папку :)
очистка кеша npm
npm install --global --cache / кеш-все-папка --optional --cache-min 99999999999 --shrinkwrap false package.x.y.z
Готово
Ссылка для ответа: https://stackoverflow.com/a/43793301/169534