- Atualiza landing/README.md com configuração correta do Deno Deploy - Adiciona DENO_DEPLOY_FIX.md com troubleshooting detalhado - Explica que 'deno install' não existe e deve ser removido - Documenta valores corretos: Install command (vazio), Build Directory (landing) - Adiciona tabela comparativa Deno vs npm/yarn - Inclui workflow GitHub Actions opcional para CI/CD - Corrige erro: 'Executing install command - build failed'
102 lines
2.5 KiB
Markdown
102 lines
2.5 KiB
Markdown
# ⚠️ Erro Comum - Deno Deploy
|
|
|
|
## Problema
|
|
|
|
```
|
|
❌ Executing install command
|
|
Your build has failed to complete this step.
|
|
```
|
|
|
|
## Causa
|
|
|
|
O campo **Install command** está configurado com `deno install`, mas **esse comando não existe no Deno**!
|
|
|
|
## ✅ Solução
|
|
|
|
No painel do Deno Deploy (https://dash.deno.com):
|
|
|
|
1. Vá em **Settings** → **App Configuration**
|
|
2. Localize **Install command**
|
|
3. **APAGUE** o conteúdo (deixe vazio)
|
|
4. OU coloque: `deno cache main.ts` (opcional)
|
|
|
|
### Configuração Correta
|
|
|
|

|
|
|
|
**Valores que devem estar configurados:**
|
|
|
|
```
|
|
Build Directory: landing
|
|
Install command: (vazio ou "deno cache main.ts")
|
|
Build command: deno task build
|
|
Pre-deploy command: (vazio)
|
|
Entrypoint: main.ts
|
|
```
|
|
|
|
### Por Que Isso Acontece?
|
|
|
|
O Deno **não precisa** de `npm install` ou `yarn install`. Ele gerencia dependências automaticamente através do arquivo `deno.json` usando **import maps**.
|
|
|
|
Quando você faz o primeiro `deno run` ou `deno task build`, o Deno:
|
|
1. Lê os imports em `deno.json`
|
|
2. Baixa as dependências automaticamente
|
|
3. Cacheia para uso futuro
|
|
|
|
### Comandos Deno vs npm/yarn
|
|
|
|
| npm/yarn | Deno |
|
|
|----------|------|
|
|
| `npm install` | ❌ Não existe |
|
|
| `npm run build` | `deno task build` |
|
|
| `npm start` | `deno task start` |
|
|
| `package.json` | `deno.json` |
|
|
| `node_modules/` | Cache global do Deno |
|
|
|
|
### Troubleshooting
|
|
|
|
**Se ainda der erro** após limpar o Install command:
|
|
|
|
1. **Verifique o Build Directory**:
|
|
- Deve ser `landing` (sem `\`)
|
|
- ❌ Errado: `\landing`
|
|
- ✅ Certo: `landing`
|
|
|
|
2. **Verifique o Entrypoint**:
|
|
- Para produção: `main.ts`
|
|
- Para dev: `dev.ts`
|
|
|
|
3. **Limpe o cache do Deno Deploy**:
|
|
```bash
|
|
# Na sua máquina
|
|
cd landing
|
|
rm -rf _fresh/
|
|
deno task build
|
|
git add .
|
|
git commit -m "rebuild fresh assets"
|
|
git push
|
|
```
|
|
|
|
4. **Redesploy manual**:
|
|
- Settings → Deployments → Redeploy latest
|
|
|
|
### Logs de Sucesso
|
|
|
|
Quando configurado corretamente, você deve ver:
|
|
|
|
```
|
|
✅ Cloning repository...
|
|
✅ Build directory: landing
|
|
✅ Running: deno task build
|
|
Task build deno run -A dev.ts build
|
|
The manifest has been generated for 5 routes and 2 islands.
|
|
Assets written to: _fresh/
|
|
✅ Deploying...
|
|
✅ Deployment successful!
|
|
```
|
|
|
|
## Mais Informações
|
|
|
|
- [Deno Deploy Docs](https://deno.com/deploy/docs)
|
|
- [Fresh Deploy Guide](https://fresh.deno.dev/docs/concepts/deployment)
|
|
- [Deno Task Runner](https://deno.land/manual/tools/task_runner)
|