Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Claude Code: błąd ENOENT (no such file or directory) - jak naprawić

W skrócie

  • Problem: Claude Code zwraca ENOENT: no such file or directory.
  • Dlaczego: wskazana ścieżka nie istnieje - zła lub względna ścieżka, zły katalog roboczy, brak programu na PATH albo literówka.
  • Rozwiązanie: sprawdź czy plik istnieje i podaj pełną ścieżkę, uruchamiaj Claude Code w katalogu projektu i dodaj brakujący program do PATH.

Błąd ENOENT to skrót od "Error NO ENTry" - system operacyjny mówi, że pod wskazaną ścieżką nic nie znalazł. Najczęściej chodzi o zły katalog roboczy, względną ścieżkę albo program, którego nie ma na PATH.

Jak to wygląda w praktyce

Podczas pracy Claude Code próbuje odczytać plik, uruchomić program lub zapisać coś pod ścieżką i zwraca "ENOENT: no such file or directory". Operacja przerywa się natychmiast.

Komunikat często zawiera dokładną ścieżkę, której nie udało się znaleźć - to najważniejsza wskazówka, bo od razu widać, czego system szukał i gdzie.

Dlaczego tak się dzieje

ENOENT oznacza dosłownie, że pod podaną ścieżką nie ma żadnego wpisu w systemie plików. Typowe przyczyny: podano złą albo względną ścieżkę do pliku, program lub binarka nie jest na zmiennej PATH, katalog roboczy jest inny niż zakładasz (Claude Code został uruchomiony nie w tym folderze), w nazwie pliku jest literówka, albo plik został wcześniej przeniesiony lub usunięty.

Ścieżki względne są szczególnie zdradliwe: ./config.json odnosi się do bieżącego katalogu roboczego, a jeśli ten jest inny niż myślisz, plik istnieje, ale pod inną lokalizacją niż ta, którą sprawdza proces.

Jak to rozwiązać krok po kroku

  1. Odczytaj z komunikatu dokładną ścieżkę, której nie znaleziono - to punkt wyjścia.
  2. Sprawdź, czy plik faktycznie istnieje: ls -l /pełna/ścieżka/do/pliku.
  3. Sprawdź katalog roboczy komendą pwd - upewnij się, że Claude Code działa w katalogu Twojego projektu.
  4. Zamiast ścieżek względnych podawaj pełne, bezwzględne ścieżki, gdy tylko to możliwe.
  5. Jeśli brakuje programu, sprawdź czy jest na PATH komendą which nazwa_programu, a jeśli nie - dodaj jego katalog do PATH.
  6. Popraw literówkę w nazwie pliku lub katalogu - wielkość liter też ma znaczenie na Linuksie i macOS.
  7. Jeśli plik został przeniesiony lub usunięty, wskaż nową lokalizację albo odtwórz plik.

Jak sprawdzić, że zadziałało

Potwierdź istnienie pliku pod docelową ścieżką przez ls -l, a dostępność programu przez which nazwa_programu. Obie komendy powinny zwrócić wynik zamiast pustki lub błędu.

Poproś Claude o powtórzenie operacji. Brak komunikatu ENOENT i poprawne odczytanie lub uruchomienie zasobu oznacza, że ścieżka jest już prawidłowa.

Wróć do listy problemów z Claude Code

Szkolenie Claude Code - od zera do zespołu agentów AI, prowadzi Łukasz Matuszewski (JSystems)

Szkolenie Claude Code - od zera do zespołu agentów AI -->

Szkolenie Claude Code - od zera do zespołu agentów AI

Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.

Sprawdź szkolenie Claude Code

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Co dokładnie oznacza skrót ENOENT?
ENOENT to standardowy kod błędu systemów uniksowych oznaczający "no such file or directory", czyli brak wpisu w systemie plików pod wskazaną ścieżką. Nie mówi, że plik jest uszkodzony czy zablokowany - mówi, że pod tą konkretną lokalizacją po prostu nic nie ma, więc pierwszym krokiem jest sprawdzenie samej ścieżki.
Dlaczego plik istnieje, a Claude Code i tak zgłasza ENOENT?
Najczęstsza przyczyna to zły katalog roboczy w połączeniu ze ścieżką względną. Zapis w rodzaju ./plik odnosi się do bieżącego katalogu procesu. Jeśli Claude Code został uruchomiony w innym folderze niż zakładasz, plik istnieje, ale w innym miejscu niż sprawdza proces. Podanie pełnej ścieżki bezwzględnej usuwa tę niejednoznaczność.
Jak sprawdzić, czy brakujący program jest widoczny dla Claude Code?
Użyj komendy which nazwa_programu. Jeśli zwróci pełną ścieżkę do binarki, program jest na PATH i dostępny. Jeśli nie zwróci nic, oznacza to, że katalog z tym programem nie znajduje się w zmiennej PATH i trzeba go tam dodać, żeby proces mógł go uruchomić.
Czy wielkość liter w nazwie pliku ma znaczenie przy ENOENT?
Na Linuksie i domyślnie na macOS system plików rozróżnia wielkość liter, więc Config.json i config.json to dwa różne pliki. Literówka w wielkości liter da wtedy ENOENT, mimo że nazwa wygląda podobnie. Na Windows zwykle nie ma to znaczenia, ale i tak warto pilnować dokładnej pisowni nazwy.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...