
Eu tenho um servidor red hat (servidor 1) que não tem acesso à internet. Eu também tenho outro servidor red hat (servidor 2) que TEM acesso à internet e também pode acessar o servidor 1.
Preciso instalar programas no servidor 1. Neste caso trata-se de um módulo de nó chamado pm2. Não tenho certeza de como isso pode ser feito. Devo instalar o módulo no servidor 2 e depois carregá-lo no servidor 1? Ou geralmente: qual é a abordagem a seguir nesta situação?
Responder1
Baixe o pacote (deve terminar com .rpm) para o servidor 2, depois transfira o arquivo para o servidor 1 e execute rpm -Uvh package.rpm
como root.
Responder2
node
os módulos não vêm necessariamente embalados em rpms. Ele pode – e faz – ler na rede (ignorando o sistema rpm). Você usaria onode
gerenciador de pacotes (npm
) para instalar em um tarball que você pode copiar para a máquina fora da rede edescompactarlá.
Opágina da web parapm2
indica que seria instalado (usando a rede) com npm
, dando como exemplo
npm install pm2 -g
Você poderia usar npm pack
para fazer um tarball a partir desse ponto. A resposta portsturzlemnode.js: Instalando um tar.gz no Linuxexplica bem o suficiente: decida onde colocá-lo na máquina de destino e descompacte-o lá.
Leitura adicional:
Este comando instala um pacote e quaisquer pacotes dos quais ele dependa. Se o pacote tiver um arquivo Shrinkwrap, a instalação das dependências será orientada por ele. Vernpm-shrinkwrap.
Problemas npm #1349 - Como posso instalar pacotes com todas as dependências offline?, tem comentário (e elaboração):
Liste as dependências em
bundledDependencies
seupackage.json
e executenpm pack
para criar um tarball. Leve isso para a outra máquina e npm install<tarball>
, ou apenas abra-o manualmente.Guia para iniciantes em npm — o gerenciador de pacotes do Node