tak naprawdę próbowałem zainstalować nodejs wraz z npm na moim Ubuntu 17.04. pobrałem wersję linux z nodejs.org i utworzyłem miękkie łącze dla node i nodejs. po sprawdzeniu wersji nodejs pokazuje wersję, którą zainstalowałem i nic mi nie jest.
teraz próbowałem zrobić to samo dla npm. próbowałem utworzyć miękki link dla npm.
sudo ln -sf /mnt/7A46BE1454633621/softwares/programming/frontend/nodejs/lib/node_modules/npm/bin/npm
/usr/bin/npm
nie wiem, czy link, który utworzyłem, jest poprawny, czy nie. ale po uruchomieniu npm -v
polecenia widzę wersję 5.0.3, którą próbuję zainstalować. wersja jest pokazana, ale tuż pod nią widzę coś takiego.
5.0.3
npm update check failed │
│ Try running with sudo or get access │
│ to the local update config store via │
│ sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
software-installation
17.04
npm
Sagar Limbu
źródło
źródło
sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
zgodnie z zaleceniami?Odpowiedzi:
Moja wersja npm to 5.0.3 i mam ten sam problem, gdy używam dowolnego polecenia npm:
Polecenie działa dobrze, ale ten kod wyświetla się bez wyraźnego powodu. Zaktualizowałem z 5.0.3 do 5.2.0 za pomocą następujących poleceń:
npm install -g npm
lubnpm i -g npm
.Teraz npm działa dobrze.
źródło
npm
jako rootsudo npm i -g npm
. Zaktualizowano npm do 6.0.1Dokładnie ten sam problem dla mnie, ale nie wydaje się związany z wersją (używam npm 5.5.1). Naprawienie praw
~/.config
stało się dla mnie sztuczką:Myślę, że jest to związane z jakimś problemem właściciela
~/.config/configstore/update-notifier-npm.json
.źródło
Zmieniłem właściciela
i
do USER $: USER $.
Domyślam się, że uruchomione
npm
z sudo utworzyło ten plik. W moim systemie przynajmniej znajdujemy to:Więc jeśli
sudo npm
jest zakodowany do utworzenia~/configstore/update-notifier-npm.json
, zrobi to zwykły katalog domowy użytkownika. Stwarza to problem podczas późniejszego uruchamiania,npm
bezsudo
którego również chce czytać i być może pisać~/configstore/update-notifier-npm.json
. Z jakiegoś powodu uprawnienia wynoszą 600 w obu przypadkach.Bądź ostrożny, kiedy
chown
ichmod
-ing wszystko pod~/.config
, że może być coś nie wrażliwy.źródło
Proszę nie używać podanego
chown
polecenia w komunikacie o błędzie. Ścieżka~/.config
jest używana przez wiele aplikacji i jest standardową ścieżką do przechowywania informacji o konfiguracji. Nie zaleca się zmiany tam uprawnień grupy. Lepiej zmień tylko wymaganą ścieżkę, np .:Przypadek specjalny: doker
Częstym przypadkiem uzyskania tego błędu jest użycie czegoś takiego jak Docker (szczególnie przy montażu własnego domu). Rozważ ustawienie zmiennych środowiskowych, takich jak
NPM_CONFIG_CACHE
iXDG_CONFIG_HOME
. Pierwszy ustawia ścieżkę pamięci podręcznej, a ostatni ustawia ścieżkę do pliku configstore. Nie używałbym tego.config
folderu w katalogu domowym, aby uniknąć problemów z własnością pliku. Ale korzystanie z pamięci podręcznej pomaga usługom takim jak NPM oszczędzać przepustowość. Staraj się unikać nadmiernego pobierania przy każdej kompilacji i użyj czegoś takiego (ale sprawdź, czy obiekt docelowy/tmp
ma wystarczającą ilość miejsca na dysku):źródło
Cóż, pierwszą rzeczą, którą możemy zrobić, aby rozwiązać ten problem, jest
Jeśli to pomogło Ci wiedzieć, co robić.
Uwaga: Tę samą procedurę można również zastosować do samego configstore w folderze .config.
źródło