Como compilar / executar sem instalar o Node.JS com o NPM no Linux?

Olá, nem sei direito como fazer este tópico, já tentei pedir ajuda no Stackoverflow, Imasters porem sem solução.

Eu sempre usava o Windows e eu fazia bots para o Discord com o Node.js, nunca usei ele instalado, baixava o binário e usava ele… Hoje uso o Linux (Xubuntu 20.04 LTS amd64 focal) bom ontem baixei o binário para Linux mas o NODE não executa de forma alguma o terminal mostra isso:

node: impossível executar o arquivo binário: Erro no formato exec

Ai eu mesmo tive a ideia de compilar o Node.js a partir da fonte do Github, compilou sem erros, ai abri ele e funciona, bem peguei um projeto antigo que tinha quando usava o Windows e node rodou sem erros o projeto, mas me parece que não compilou o NPM, não acho documentação disso em lugar nenhum e também eu gostaria de saber porque o binário do site não abre no meu Linux?

Saudações, 
Gabriel (Utherbone)

Olá, @Utherbone!

Cara, não entendi muito bem o que você já fez. Que binário é esse?
Você baixou por esse link? https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz

Se você quer usá-lo sem instalar nada, é esse que você tem que baixar.
Depois descompacte em algum diretório (tudo, não apenas os binários), recomendo que seja em ${HOME}/.opt (ou algum diretório escondido no ${HOME}) para manter as coisas organizadas, e adicione a seguinte linha no arquivo ${HOME}/.bash_aliases:
export PATH=${PATH}:${HOME}/.opt/node-v12.16.2-linux-x64/bin/

Depois reinicie o terminal. Isso vai permitir você digitar apenas “node” ou “npm” para executar os binários que foram extraídos.

Eu preferi instalar o node usando os PPAs do próprio Node, e no Ubuntu 20.04 eu estava utilizando a instalação via Snap, mas eu testei com esse pacote e o binário executou normalmente no Mint 19. Não cheguei a testar no Ubuntu 20.04, mas creio que irá funcionar também.

Edit:
Testei no Ubuntu 20.04, e funcionou normalmente.

1 Curtida

Foi esse pacote binário mesmo que baixei, eu tentei executar ele assim:

./node ai o terminal me retornou assim: node: impossível executar o arquivo binário: Erro no formato exec

O binário que eu compilei roda perfeito assim: ./none project/test.js mas quando chamo o modulo NPM não funciona ai fui fuçar os arquivos de saída da build e não achei nada sobre o NPM segue o vídeo que fiz ontem: https://youtu.be/ofcpNyRa5is

@brunonzanette que que me indicou fazer é mais simples que alguns tutoriais na net, mesmo assim prefiro simplicidade até porque meu intuito é fazer um pendrive ambientado para programação, o MySQL binário consigo executar sem instalar, é somente apontar o arquivo de configuração e usar caminhos relativos (Sobre o MySQL não foi fácil conseguir muita pesquisa, tentativas, erros ainda quando usava o Windows, felizmente foi tão simples quanto rodar no Windows) A proposito eu fiz um app para Windows que não precisa de elevação (administrador) e roda de qualquer caminho (ele por traz faz a linha de comando apontando os caminhos e setando arquivos de configurações “apache+php, MySQL, Node.JS, futuramente eu ia adicionar um serviço de ftp, mas de la para cá dei uma parada na programação ai to voltando agora só que no Linux.”), tenho interesse em fazer um para Linux também.

Fiquei curioso agora, disse que o binário abriu no seu Mint, tente baixar o binário e executar ele assim: ./node

Saudações,
Gabriel (Utherbone)

Você não baixou o arquivo que eu falei…
E sim a versão para macOs (darwin)
Captura de tela de 2020-04-25 12-02-51 :wink:
hahah Só baixar a correta que deve dar certo

Bem legal esse seu projeto! Coloca no Git que vai ajudar muita gente, se puder.

1 Curtida

Nossa foi isso mesmo :rofl:, acabei baixando o binário para Mac :rofl::rofl::rofl::rofl:, :man_facepalming: e nem notei a diferença no nome do arquivo compactado kkkk.
Muito obrigado ai. Funcionou direitinho com o módulo NPM, bom agradeço muito, vou ser ativo aqui para contribuir também. Aproposito vou sim colocar no GIT a versão do Windows e a futura versão para Linux.
Mais uma vez muito obrigado.

Saudações,
Gabriel (Utherbone)

1 Curtida