--- title: Depanare icon: wrench --- ## Depanare Dacă întâmpinați orice problemă în timp ce configurați mediul pentru dezvoltare, actualizați instanța dvs. sau găzduiți pe cont propriu, iată câteva soluții la problemele comune. ### Găzduire proprie #### Prima instalare rezultă în `autentificare parola eșuată pentru utilizatorul "postgres"` 🚨 **IMPORTANT: Această soluție este DOAR pentru instalările noi** 🚨 Dacă aveți deja o instanță Twenty cu date de producție, **NU** urmați acești pași deoarece vor șterge permanent baza dvs. de date! În timp ce instalați Twenty pentru prima dată, este posibil să doriți să schimbați parola implicită a bazei de date. Parola pe care o setați în timpul primei instalări devine stocată permanent în volumul bazei de date. Dacă mai târziu încercați să schimbați această parolă în configurația dvs. fără a elimina vechiul volum, veți obține erori de autentificare deoarece baza de date folosește încă parola originală. ⚠️ AVERTIZARE: Următorii pași vor ȘTERGE PERMANENT toate datele din baza de date! ⚠️ Continuați doar dacă aceasta este o instalare recentă fără date importante. Pentru a actualiza `PG_DATABASE_PASSWORD`, trebuie să: ```sh # Update the PG_DATABASE_PASSWORD in .env docker compose down --volumes docker compose up -d ``` #### S-au găsit întreruperi de linie CR [Windows] Acest lucru se întâmplă din cauza caracterelor de terminare a liniei Windows, combinate cu configurația Git. Încercați să rulați: ``` git config --global core.autocrlf false ``` Apoi ștergeți depozitul și clonați-l din nou. #### Schema de metadate lipsă În timpul instalării Twenty, trebuie să aprovizionați baza de date postgres cu schemele, extensiile și utilizatorii corecți. Dacă reușiți să executați această aprovizionare, ar trebui să aveți schemele `default` și `metadata` în baza dvs. de date. Dacă nu, asigură-te că nu ai mai mult de o instanță PostgreSQL care rulează pe calculatorul tău. #### Nu se poate găsi modulul 'twenty-emails' sau declarațiile de tip corespunzătoare. Trebuie să construiți pachetul `douăzeci și două de e-mailuri` (`npx nx execută douăzeci de email-uri:build`) înainte de a rula inițializarea bazei de date. #### Pachetul twenty-x lipsă Asigurați-vă că rulați yarn în directorul rădăcină și apoi rulați `npx nx server:dev twenty-server`. Dacă acest lucru nu funcționează, încercați să construiți manual pachetul lipsă. #### Lint la salvare nu funcționează Acest lucru ar trebui să fie finalizat cu extensia Oxc (`oxc.oxc-vscode`) instalată. Dacă acest lucru nu funcționează, încercați să adăugați acest lucru la setările VS Code (scara containerului de volum): ``` "editor.codeActionsOnSave": { "source.fixAll.oxc": "explicit" } ``` #### În timp ce rulați `npx nx start` sau `npx nx start twenty-front`, o eroare în afara memoriei este aruncată Rulați doar serviciile de care aveți nevoie, în loc de `npx nx start`. De exemplu, dacă lucrați la server, rulați doar `npx nx worker twenty-server` **Dacă nu funcționează:** Dacă ați încercat să rulați doar `npx nx run twenty-server:start` pe WSL și nu reușește cu eroarea de memorie de mai jos: `EROARE FATALĂ: Mark-compacts ineficiente lângă limita heap-ului Alocarea a eșuat - JavaScript heap out of memory` Un workaround este să rulezi următoarea comandă în terminal, sau să o adaugi la profilul `.bashrc` astfel încât să fie aplicată automat: `export NODE_OPTIONS="--max-old-space-size=8192"` Flag-ul --max-old-space-size=8192 setează o limită superioară de 8 GB pentru heap-ul Node.js; utilizarea se adaptează la cerințele aplicației. Referință: https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048 **Dacă nu funcționează:** investighează ce procese preiau cea mai mare parte a RAM al mașinii tale. La douăzeci de ani, am observat că unele extensii VS Code au preluat o mulțime de RAM, așa că le-am dezactivat temporar. **Dacă nu funcționează:** Repornirea mașinăriei ajută la curățarea proceselor fantomă. #### În timp ce rulați `npx nx start` apar [0] și [1] ciudate în jurnale Acest lucru este de așteptat deoarece comanda `npx nx start` rulează mai multe comenzi în fundal #### Nu sunt trimise e-mailuri De cele mai multe ori, este deoarece `worker` nu rulează în fundal. Încercați să rulați ``` npx nx worker twenty-server ``` #### Nu se poate conecta contul meu Microsoft 365 la 20 De cele mai multe ori, este deoarece administratorul dvs. nu a activat licența Microsoft 365 pentru contul dvs. Verificați [https://admin.microsoft.com/](https://admin.microsoft.com/Adminportal/Home). Dacă aveți un cod de eroare `AADSTS50020`, probabil înseamnă că utilizați un cont personal Microsoft. Aceasta nu este încă suportată. Mai multe informații [aici](https://learn.microsoft.com/fr-fr/troubleshoot/entra/entra-id/app-integration/error-code-aadsts50020-user-account-identity-provider-does-not-exist) #### În timpul rulării `yarn`, avertismentele apar în consolă Avertismentele informă despre tragerea de dependențe suplimentare care nu sunt specificate explicit în `package.json`, așa că atâta timp cât nu apare o eroare de întrerupere, totul ar trebui să funcționeze conform așteptărilor. #### Când un utilizator accesează pagina de autentificare, o eroare despre un utilizator neautorizat care încearcă să acceseze un spațiu de lucru apare în jurnale Acest lucru este așteptat deoarece utilizatorul nu este autorizat atunci când se deconectează, deoarece identitatea sa nu a fost verificată. #### Cum să verificați dacă worker-ul dvs. rulează? * Accesați [webhook-test.com](https://webhook-test.com/) și copiați **Your Unique Webhook URL**.
Test de webhook
* Deschideți aplicația Twenty, navigați la `/settings` și activați comutatorul **Avansat** în colțul din stânga jos al ecranului. * Creați un nou webhook. * Lipiți **Your Unique Webhook URL** în câmpul **Endpoint Url** din Twenty. Setați **Filtrele** pe `Companii` și `Create`.
Setări webhook
* Accesați `/objects/companies` și creați un nou registru de companie. * Întoarceți-vă la [webhook-test.com](https://webhook-test.com/) și verificați dacă a fost primit un nou **POST request**.
Rezultatul testului webhook
* Dacă este primit un **POST request**, worker-ul dvs. rulează cu succes. În caz contrar, trebuie să depanați worker-ul dvs. #### Front-end nu reușește să pornească și returnează eroarea TS5042: Opțiunea 'proiect' nu poate fi amestecată cu fișierele sursă pe linia de comandă Comentează plugin-ul de verificator în `packes/twenty-ui/vite-config.ts`, așa cum se arată în exemplul de mai jos: ``` plugins: [ react({ jsxImportSource: 'react' }), tsconfigPaths(), svgr(), dts(dtsConfig), // checker(checkersConfig), wyw({ include: [ '**/OverflowingTextWithTooltip.tsx', '**/Chip.tsx', '**/Tag.tsx', '**/Avatar.tsx', '**/AvatarChip.tsx', ], babelOptions: { presets: ['@babel/preset-typescript', '@babel/preset-react'], }, }), ], ``` #### Panoul de administrare nu este accesibil Executați \`UPDATE core."user" SET "canAccessFullAdminPanel" = TRUE WHERE e-mail = 'you@yourdomain.com';' în containerul bazei de date pentru a avea acces la panoul de administrare. #### Când rulați un flux de lucru, rularea fluxului de lucru eșuează cu "Execuția funcțiilor logice este dezactivată. Setați LOGIC_FUNCTION_TYPE la LOCAL sau LAMBDA pentru a le activa." În producție, funcțiile logice sunt dezactivate în mod implicit. Setați variabila de mediu `LOGIC_FUNCTION_TYPE` la `LOCAL` sau `LAMBDA` pentru a le activa. Acest lucru poate fi configurat prin variabile de mediu sau prin variabilele bazei de date din panoul de administrare. Consultați [Ghidul de configurare a funcțiilor logice](/l/ro/developers/self-host/capabilities/setup#logic-functions-available-drivers) pentru detalii. #### Când tastez un mesaj în chat-ul AI, acesta nu răspunde imediat și trebuie să reîmprospătez pagina pentru a vedea răspunsul Acest lucru înseamnă că proxy-ului dvs. îi lipsește configurația pentru răspunsurile API bazate pe stream. Mai jos este un exemplu de configurare Nginx: ``` location ~* ^/api/.*stream|\/graphql\/stream { proxy_pass http://twenty_backend; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_buffering off; proxy_request_buffering off; proxy_cache off; gzip off; #chunked_transfer_encoding off; add_header X-Accel-Buffering no always; } ``` ### Compunere Docker cu 1 clic #### Nu se poate conecta Dacă nu vă puteți conecta după configurare: 1. Rulați următoarele comenzi: ```bash docker exec -it twenty-server-1 yarn docker exec -it twenty-server-1 npx nx database:reset --configuration=no-seed ``` 2. Reporniți containerele Docker: ```bash docker compose down docker compose up -d ``` Țineți cont că comanda `database:reset` va șterge complet baza de date și o va recrea de la zero. #### Probleme de conexiune în spatele unui proxy invers Dacă rulați Twenty în spatele unui proxy invers și întâmpinați probleme de conexiune: 1. **Verificați SERVER_URL:** Asigurați-vă că `SERVER_URL` din fișierul dvs. `.env` corespunde cu URL-ul dvs. de acces extern, inclusiv `https` dacă SSL este activat. 2. **Verificați Setările Proxy-ului Invers:** * Confirmați că proxy-ul invers transmite corect cererile către serverul Twenty. * Asigurați-vă că headerele precum `X-Forwarded-For` și `X-Forwarded-Proto` sunt setate corect. 3. **Reporniți Serviciile:** După ce faceți schimbări, reporniți atât proxy-ul invers, cât și containerele Twenty. #### Eroare la încărcarea unei imagini - permisiune refuzată Schimbarea proprietății folderului de date pe gazdă de la root la un alt utilizator și grup rezolvă această problemă. ## Obținerea de ajutor Dacă întâmpinați probleme care nu sunt acoperite în acest ghid: * Verificați jurnalele: Vizualizați jurnalele containerului pentru mesaje de eroare: ```bash docker compose logs ``` * Suport Comunitar: Contactați [comunitatea Twenty](https://github.com/twentyhq/twenty/issues) sau [canalele de suport](https://discord.gg/cx5n4Jzs57) pentru asistență.