Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Claude Code
Claude Code nie instaluje się przez npm - błąd uprawnień EACCES
npm install -g @anthropic-ai/claude-code pada z błędem EACCES: permission denied.sudo.Podczas pierwszej instalacji Claude Code, oficjalnego narzędzia CLI od Anthropic do programowania z AI, wielu użytkowników trafia na ścianę: npm install -g kończy się błędem EACCES: permission denied. Problem dotyczy głównie systemów Linux i macOS, gdzie Node.js został zainstalowany z repozytoriów systemowych (apt, dnf, Homebrew z uprawnieniami roota). Katalog globalnych pakietów npm należy wtedy do użytkownika root, a Ty pracujesz jako zwykły użytkownik i nie masz prawa zapisu.
Wpisujesz komendę i zamiast paska postępu widzisz czerwony błąd. Typowy zrzut z terminala wygląda tak:
$ npm install -g @anthropic-ai/claude-code
npm error code EACCES
npm error syscall mkdir
npm error path /usr/lib/node_modules/@anthropic-ai
npm error errno -13
npm error Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/@anthropic-ai'
Kluczowa jest ścieżka: /usr/lib/node_modules (albo /usr/local/lib/node_modules). To katalog systemowy, do którego zwykły użytkownik nie może pisać. Kuszące jest dopisanie sudo na początku - i to jest właśnie pułapka, o której piszemy niżej.
Sam Claude Code nie ma tu nic do rzeczy - to zachowanie npm. Gdy instalujesz pakiet z flagą -g (globalnie), npm zapisuje go w katalogu wskazanym przez ustawienie prefix. Jeśli Node zainstalowano systemowo, ten prefiks wskazuje na katalog należący do roota. Twój użytkownik nie ma tam praw, więc jądro systemu zwraca kod EACCES (odmowa dostępu). Instalacja przez sudo npm install -g pozornie działa, ale tworzy pliki należące do roota w Twoim katalogu cache npm, przez co późniejsze aktualizacje i inne pakiety znów będą się wykrzaczać. Dokumentacja npm wprost odradza to obejście.
npm config get prefix. Jeśli zobaczysz /usr lub /usr/local, to jest źródło kłopotu.curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash, a po ponownym otwarciu terminala nvm install --lts. Wtedy npm pisze do ~/.nvm i żadne sudo nie jest potrzebne.mkdir -p ~/.npm-global, potem npm config set prefix ~/.npm-global.~/.bashrc lub ~/.zshrc linię export PATH=~/.npm-global/bin:$PATH i przeładuj powłokę komendą source ~/.bashrc.sudo: npm install -g @anthropic-ai/claude-code.curl -fsSL https://claude.ai/install.sh | bash. Instaluje on samodzielny plik binarny do ~/.local/bin, bez potrzeby Node w ogóle.sudo, napraw właściciela katalogu cache: sudo chown -R $(whoami) ~/.npm, żeby kolejne instalacje nie wracały do błędu.Uruchom claude --version - powinien wypisać numer wersji, na przykład 2.x.x (Claude Code). Sprawdź też, że komenda uruchamia się z Twojego katalogu domowego, a nie z systemowego: which claude powinno wskazać ścieżkę w ~/.npm-global/bin, ~/.nvm lub ~/.local/bin, a nie w /usr/bin. Na koniec odpal samo claude w dowolnym katalogu projektu - jeśli pojawi się kreator logowania, instalacja przebiegła poprawnie.
Wróć do listy: 100 najczęstszych problemów z Claude Code
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 CodeTo szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...