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
Mensagem pronta para colar
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-installOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/sandbox-npm-install/SKILL.md -o SKILL.mdConteú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.jsonoupackage-lock.jsonmudaram e você precisa reinstalar- Encontrar falhas em binários nativos com erros como
SIGILL,SIGSEGV,mmapouunaligned sysNoHugePageOS - O diretório
node_modulesestiver 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.jsonno 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
- Copia
package.json,package-lock.jsone.npmrc(se presentes) para um diretório ext4 local - Executa
npm ci(ounpm installse não houver lockfile) no sistema de arquivos local - Cria um link simbólico
node_modulesde volta para o workspace - Verifica binários nativos conhecidos (esbuild, rollup, lightningcss, vite) se presentes
- Opcionalmente, instala navegadores Playwright e dependências do sistema (usa
sudoquando 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_modulesaparece como um link quebrado no host — isso é inofensivo, poisnode_modulesgeralmente é ignorado pelo git - Executar
npm ciounpm installno host substitui naturalmente o link simbólico por um diretório real - Após qualquer alteração em
package.jsonoupackage-lock.json, reexecute o script de instalação - NÃO execute
npm ciounpm installdiretamente 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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC