Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)40 mil · #5358

sandbox-npm-install

Faz seu agente instalar pacotes npm em um ambiente seguro. Ele contorna problemas com certos tipos de arquivos, garantindo que as dependências sejam instaladas corretamente.

O que ela faz

Esta ferramenta instala pacotes do Node.js (chamados de 'npm packages') dentro de um ambiente isolado (sandbox) no seu computador. Ela resolve um problema comum onde programas compilados para rodar em certas máquinas (como as com arquitetura ARM) não funcionam corretamente quando os arquivos são acessados de uma forma específica (virtiofs). A ferramenta instala esses pacotes em um local seguro e os 'conecta' ao seu projeto para que funcionem.

Quando usar

  • ✓Quando você inicia um novo projeto Node.js e precisa baixar as dependências pela primeira vez.
  • ✓Se você alterou a lista de pacotes necessários (arquivo `package.json`) e precisa atualizar a instalação.
  • ✓Se você recebe erros estranhos ao tentar rodar ou compilar seu projeto, especialmente relacionados a 'native binaries'.

Exemplo do que pedir para a IA

“Instale os pacotes do meu projeto Node.js no sandbox.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/sandbox-npm-install/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/sandbox-npm-install/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta copia os arquivos de configuração do seu projeto para uma área segura dentro do ambiente isolado. Lá, ela executa o comando de instalação (`npm ci`). Por fim, ela cria um atalho (symlink) para que seu projeto possa acessar esses pacotes instalados de forma segura.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill sandbox-npm-install

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/sandbox-npm-install/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Sandbox npm Install

Quando Usar Esta Funcionalidade

Use esta funcionalidade sempre que:

  • Precisar instalar pacotes npm pela primeira vez em uma nova sessão de sandbox
  • package.json ou package-lock.json mudaram e você precisa reinstalar
  • Encontrar falhas em binários nativos com erros como SIGILL, SIGSEGV, mmap ou unaligned sysNoHugePageOS
  • O diretório node_modules estiver faltando ou corrompido

Pré-requisitos

  • Um ambiente de sandbox Docker com um workspace montado via virtiofs
  • Node.js e npm disponíveis no contêiner
  • Um arquivo package.json no workspace de destino

Contexto

Workspaces de sandbox Docker são tipicamente montados via virtiofs (sincronização de arquivos entre o host e a VM Linux). Binários nativos Go e Rust (esbuild, lightningcss, rollup, etc.) falham com erros de alinhamento mmap ao serem executados a partir do virtiofs em aarch64. A solução é instalar no sistema de arquivos ext4 local do contêiner e criar um link simbólico de volta para o workspace.

Instalação Passo a Passo

Execute o script de instalação empacotado a partir da raiz do workspace:

bash scripts/install.sh

Opções Comuns

Opção Descrição
--workspace <path> Caminho para o diretório contendo package.json (detectado automaticamente se omitido)
--playwright Instala também o navegador Playwright Chromium para testes E2E

O Que o Script Faz

  1. Copia package.json, package-lock.json e .npmrc (se presentes) para um diretório ext4 local
  2. Executa npm ci (ou npm install se não houver lockfile) no sistema de arquivos local
  3. Cria um link simbólico node_modules de volta para o workspace
  4. Verifica binários nativos conhecidos (esbuild, rollup, lightningcss, vite) se presentes
  5. Opcionalmente, instala navegadores Playwright e dependências do sistema (usa sudo quando disponível)

Se a verificação falhar, execute o script novamente — falhas podem ser intermitentes durante a configuração inicial.

Verificação Pós-Instalação

Após a conclusão do script, verifique se sua toolchain funciona. Por exemplo:

npm test             # Run project tests
npm run build        # Build the project
npm run dev          # Start dev server

Observações Importantes

  • O diretório de instalação local (por exemplo, /home/agent/project-deps) é local ao contêiner e NÃO é sincronizado de volta para o host
  • O link simbólico node_modules aparece como um link quebrado no host — isso é inofensivo, pois node_modules geralmente é ignorado pelo git
  • Executar npm ci ou npm install no host substitui naturalmente o link simbólico por um diretório real
  • Após qualquer alteração em package.json ou package-lock.json, reexecute o script de instalação
  • NÃO execute npm ci ou npm install diretamente no workspace montado — binários nativos falharão

Solução de Problemas

Problema Solução
SIGILL ou SIGSEGV ao executar o servidor de desenvolvimento Reexecute o script de instalação; certifique-se de não estar executando npm install diretamente no workspace
node_modules não encontrado após a instalação Verifique se o link simbólico existe: ls -la node_modules
Erros de permissão durante a instalação Certifique-se de que o diretório de dependências local seja gravável pelo usuário atual
Verificação falha intermitentemente Execute o script novamente — falhas de binários nativos podem ser não determinísticas na primeira carga

Compatibilidade com Vite

Se o seu projeto usa Vite, pode ser necessário permitir o caminho do link simbólico em server.fs.allow. Adicione o diretório pai do alvo do link simbólico (por exemplo, /home/agent/project-deps/) à sua configuração do Vite para que o Vite possa servir arquivos através do link simbólico.

Perguntas frequentes

Por que não posso simplesmente usar `npm install` normalmente?

Em alguns ambientes isolados (sandboxes) que usam uma tecnologia chamada 'virtiofs', programas compilados nativamente (como esbuild, lightningcss) podem falhar. Essa ferramenta contorna o problema instalando os pacotes em um local diferente e seguro dentro do sandbox.

O que acontece com os pacotes instalados?

Os pacotes são instalados em um diretório dentro do sandbox que não é sincronizado de volta para o seu computador principal. Seu projeto acessa esses pacotes através de um atalho, mas o diretório real fica isolado.

Preciso fazer algo depois de rodar a ferramenta?

Sim, após a instalação, você deve verificar se seu projeto funciona como esperado, tentando rodar testes (`npm test`), compilar (`npm run build`) ou iniciar o servidor de desenvolvimento (`npm run dev`).

Detalhes

Descrição original do autor

Install npm packages in a Docker sandbox environment. Use this skill whenever you need to install, reinstall, or update node_modules inside a container where the workspace is mounted via virtiofs. Native binaries (esbuild, lightningcss, rollup) crash on virtiofs, so packages must be installed on the local ext4 filesystem and symlinked back.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5358
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas