DevForge

Node.js

Runtime JavaScript assíncrono e orientado a eventos, ideal para APIs, microsserviços e aplicações em tempo real.

⚡ Instalação automatizada

Linux / WSL
curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/nodejs/install.sh | bash -s 22
Windows PowerShell (Admin)
Set-ExecutionPolicy Bypass -Scope Process; iex "& { $(irm https://rafaelferreira2312.github.io/devforge/scripts/nodejs/install.ps1) } 22"
macOS (Homebrew)
curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/nodejs/install.sh | bash -s 22

Os scripts fazem backup automático do ambiente npm global antes de instalar ou atualizar.

Requisitos mínimos

  • CPU: 2+ núcleos (x86_64 ou ARM64)
  • RAM: 2 GB (recomendado 4 GB para projetos maiores)
  • Armazenamento: 5 GB SSD
  • SO: Ubuntu 20.04+, Debian 11+, RHEL 8+, Windows 10/11, macOS 11+

Hardware recomendado (Dev)

  • Notebook: Dell XPS, MacBook Pro M1/M2, Lenovo ThinkPad
  • CPU: i5 / Ryzen 5 ou superior
  • RAM: 16 GB (32 GB para containers + IDE)
  • SSD NVMe 256 GB+

🛠️ Stack recomendada

Ferramentas essenciais

  • Gerenciador de versões: nvm / fnm
  • Gerenciador de pacotes: npm / yarn / pnpm
  • Framework: Express.js / Fastify / Nest.js
  • TypeScript: suporte nativo ou ts-node
  • Process Manager: PM2

Extensões VSCode

  • JavaScript/TypeScript (built-in)
  • ES7+ React/Redux/React-Native snippets
  • npm Intellisense
  • Prettier - Code formatter
  • Thunder Client (alternativa ao Postman)

Docker (opcional)

docker run -d -p 3000:3000 --name node-app node:22-alpine node -e "require('http').createServer((req,res)=>{res.end('Hello DevForge!')}).listen(3000)"

🔧 Troubleshooting (diagnósticos reais)

❌ Erro: "node: command not found"

Causa: Node.js não instalado ou PATH não configurado.
Solução: Verifique com which node ou reinstale usando o script DevForge.

⚠️ Erro: "EACCES: permission denied" ao instalar pacotes globais

Causa: Permissões incorretas na pasta npm global.
Solução: Corrija com sudo chown -R $(whoami) ~/.npm ou use nvm.

🐘 Erro: "node-gyp" falha ao compilar módulos nativos

Causa: Dependências de build faltando.
Solução: Instale build-essential e Python: sudo apt install build-essential python3

Diagnóstico automático:

node -v && npm -v && npx --version && npm list -g --depth=0 && echo "---" && which node && which npm

Este comando verifica: versão do Node.js, versão do npm, pacotes globais instalados e localização dos binários.

⚠️ IMPORTANTE - Como executar os scripts corretamente

Os scripts abaixo funcionam em Windows, Linux e macOS. Siga as instruções específicas do seu sistema:

WINDOWS (PowerShell)
# ERRO COMUM: "arquivo não assinado" ou "execução de scripts desabilitada" # SOLUÇÃO 1: Executar com bypass (recomendado) powershell -ExecutionPolicy Bypass -File "C:\caminho\script.ps1" # SOLUÇÃO 2: Baixar e executar direto (pode ter erro de codificação) powershell -ExecutionPolicy Bypass -Command "iex (irm https://.../script.ps1)" # SOLUÇÃO 3: Habilitar execução permanentemente (como Administrador) Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Se houver erros de acentuação (caracteres estranhos): O script ainda funciona, apenas a saída visual pode ficar distorcida
LINUX / WSL (Bash)
# ERRO COMUM: "permission denied" ou "comando não encontrado" # SOLUÇÃO 1: Dar permissão de execução (obrigatório) chmod +x script.sh # SOLUÇÃO 2: Executar o script ./script.sh # SOLUÇÃO 3: Executar via curl (baixar e executar direto) curl -fsSL https://.../script.sh | bash # SOLUÇÃO 4: Se der erro de permissão, use sudo (cuidado!) sudo chmod +x script.sh && sudo ./script.sh # Se houver erros de permissão: Execute 'ls -la script.sh' para verificar permissões atuais
macOS (Terminal / Zsh)
# ERRO COMUM: "permission denied" ou "operation not permitted" # SOLUÇÃO 1: Dar permissão de execução chmod +x script.sh # SOLUÇÃO 2: Executar o script ./script.sh # SOLUÇÃO 3: Se der erro de "quarentena" (arquivo baixado da internet) xattr -d com.apple.quarantine script.sh # SOLUÇÃO 4: Executar via curl curl -fsSL https://.../script.sh | bash # Se erro persistir: Vá em Preferências do Sistema → Segurança e Privacidade → Permitir execução

Dicas importantes:
Windows: Se aparecerem caracteres estranhos (ex: "�" ou "ção"), ignore - o script funciona normalmente. Para evitar, baixe o script localmente e execute.
Linux/macOS: Sempre use chmod +x antes de executar scripts baixados.
WSL (Windows): Siga as instruções do Linux, mas certifique-se de que o script está dentro do sistema de arquivos do Linux (não no /mnt/c/).

📜 Scripts prontos

Scripts verificados no Ubuntu 22.04/24.04, Debian 12, macOS 13+ e Windows 10/11.

⚙️ Comandos npm úteis

npm init -y – cria um novo projeto Node.js
npm install express – instala uma dependência
npm run dev – executa script de desenvolvimento
npm outdated – verifica dependências desatualizadas
npm update – atualiza dependências

❓ Perguntas frequentes

Como gerenciar múltiplas versões do Node.js?

Use o nvm (Node Version Manager): nvm install 20 && nvm use 20. O script de instalação do DevForge já inclui o nvm opcionalmente.

O script de instalação faz backup dos meus pacotes globais?

Sim! Antes de qualquer modificação, o script salva a lista de pacotes globais em ~/npm-global-backup.txt.

Node.js em produção: qual versão usar?

Sempre use a versão LTS (Long Term Support). Atualmente a versão 20 LTS é a mais estável para produção.

Como monitorar uma aplicação Node.js em produção?

Use PM2: pm2 start app.js && pm2 monit. O DevForge oferece scripts prontos para configurar o PM2.