Jak mogę zainstalować npm na 17.10?


11

Chciałem po prostu zainstalować npm przez terminal, a teraz utknąłem z pewnymi zależnościami.

Chce, żebym zainstalował kilka zależności, na przykład:

libssl1.0-dev
nodejs-dev
node-gyp

Nawet jeśli spróbuję zainstalować je jako pierwsze, to powie mi, że potrzebuję poprzednika.

Ostatni przypadek zależności jest libssl-devi wydaje się, że jest już zainstalowany.

Celem jest zainstalowanie npm, aby ten elektronowy widelec działał w moim systemie.

Dzięki za pomoc


@karel oznacza, że ​​nie mam szans na zainstalowanie go w dniu 17.10 i jestem ponownie zmuszony do zmiany wersji na 16.04?
— Deniz,

brachu, chciałem tylko wiedzieć, jak zainstalować npm w moim systemie. Nie mogę po prostu użyć „sudo apt install npm” z powodu problemu, który napisałem w pierwszym komentarzu.
— Deniz,

Odpowiedzi:


9

Uwaga: Ta odpowiedź została zaktualizowana od czasu jej pierwszego opublikowania, ponieważ istnieje teraz lepszy sposób instalacji najnowszej wersji npm, która jest wbudowana w pakiet snap węzła do instalacji Node.js. Po uruchomieniu poniższych poleceń uruchomione npm -vpokaże, że najnowsza wersja npm jest zainstalowana i używana.


Node.js jest dostępny jako pakiet przystawek we wszystkich obecnie obsługiwanych wersjach Ubuntu. W przypadku Node.js programiści mogą wybierać jedną lub więcej spośród obecnie obsługiwanych wersji i otrzymywać regularne automatyczne aktualizacje bezpośrednio z NodeSource. Wersje 6, 8, 9, 10, 11, 12 i 13 Node.js są obecnie dostępne, a Snap Store jest aktualizowany w ciągu kilku godzin lub minut od wydania Node.js.

Węzeł można zainstalować za pomocą jednego polecenia, na przykład:

sudo snap install node --classic --channel 11/stable # also install snapd in 14.04 

Do przyciągania do węzła można uzyskać polecenie node, na przykład:

$ node -v  
v11.5.0

Zaktualizowana wersja npm zostanie zainstalowana jako część przystawki węzła. npm powinien być uruchamiany poza replikacją węzła, w normalnej powłoce. Po zainstalowaniu przystawki węzła uruchom następujące polecenie, aby włączyć sprawdzanie aktualizacji npm:

sudo chown -R $ USER: $ (id -gn $ USER) / home / twoja-nazwa użytkownika /.config

Zamień your-usernamepowyższe polecenie na własną nazwę użytkownika. Następnie uruchom, npm -vaby sprawdzić, czy wersja npm jest aktualna. Jako przykład sprawdziłem, czy npm jest aktualny, sprawdziłem wersję już zainstalowanego pakietu o nazwie przędza za pomocą polecenia, npm list yarna następnie zaktualizowałem istniejący pakiet przędzy do najnowszej wersji za pomocą polecenianpm update yarn

Użytkownicy mogą w dowolnym momencie przełączać się między wersjami Node.js bez konieczności angażowania dodatkowych narzędzi, takich jak nvm (Node Version Manager), na przykład:

sudo snap refresh node --channel=10/stable

Użytkownicy mogą testować najnowszą wersję Node.js, którą można zainstalować z najnowszego kanału brzegowego, który aktualnie śledzi Node.js w wersji 12, przełączając się za pomocą:

sudo snap switch node --edge

Takie podejście jest zalecane tylko tym użytkownikom, którzy są gotowi uczestniczyć w testowaniu i zgłaszaniu błędów na wcześniejszym etapie.

Node.js LTS Schedule

Zwolnij status LTS Nazwa kodowa LTS Rozpocznij konserwację Rozpocznij konserwację Zakończ konserwację
6.x Aktywny bor 2016-10-18 kwietnia 2018 kwietnia 2019
7.x Brak LTS              
8.x Active Carbon 2017-10-31 kwietnia 2019 grudnia 2019
9.x Brak LTS              
10.x Active Dubnium październik 2018 kwiecień 2020 kwiecień 2021  
11.x Brak LTS 2019-04-01 2019-06-30
12.x 2019-10-22 2021-04-01 2022-04-01
13.x Brak LTS 2020-04-20 2020-06-01

Nie działało dla mnie
— Jonathan

Pakiety Snap są straszne dla dysków SSD. Są często aktualizowane, powodując ciężkie operacje odczytu / zapisu na dysku, co nie jest optymalne dla życia dysku SSD. Unikam ich tak bardzo, jak to możliwe. Istnieje również kwestia bezpieczeństwa w Snapach, więc bądź ostrożny.
— Seth Bergman

2

Miałem ten sam problem. libssl jest kłopotliwy, ponieważ wiele pakietów chce różnych wersji. Najbardziej kłopotliwi dla mnie są Spotify, Viber, DotNet Core, php5.6 (starszy system).

W każdym razie wydaje się, że to rozwiązanie zadziałało:

Na podstawie odpowiedzi Jonathana Leadersa, jeśli spojrzysz na skrypt, który pobiera, zobaczysz, że wspomina o 2 kluczowych punktach: repozytorium i kluczu.

Z jakiegoś powodu po uruchomieniu tylko tych poleceń, nodejs wciąż odnosił się do tego z oficjalnych repozytoriów Ubuntu, i była to stara wersja z sprzecznymi wymaganiami dla libssl.

Dodaj je ręcznie, aby uzyskać wiarygodne wyniki (jako root):

echo 'deb https://deb.nodesource.com/node_9.x artful main' > /etc/apt/sources.list.d/nodesource.list
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

Potem po prostu apt-get updatei wtedyapt-get install nodejs

Następnie będziesz mieć npm bez instalowania czegokolwiek.

Zauważ, że to instaluje Nodejs 9.0, ale jestem pewien, że ta sama metoda działa również w przypadku innych wersji. Musisz tylko zmienić numer wersji w źródle repozytorium w/etc/apt/sources.list.d/nodesource.list


1

Najpierw sprawdź, który numer wersji jest najnowszy tutaj: https://github.com/nodesource/distribution/tree/master/deb

W naszym przypadku tak jest setup_9.x

sudo apt-get install python-software-properties curl
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install nodejs

Udowodnij, że jest teraz zainstalowany

npm -v

Źródło: https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/

Edycja : Dodano „curl” do początkowych zależności.


1

n-zainstaluj

Węzeł i npm zainstalowane z jedną linią bash.

Instalacja n , menedżera wersji Node.js, na platformach uniksowych, bez konieczności wcześniejszej instalacji Node.js. Dodatkowo instaluje skrypty n-update do późniejszej aktualizacji na żądanie ni n-uninstalldo odinstalowania.

Najprostszym przypadkiem jest instalacja nz monitem o potwierdzenie, a następnie instalacja najnowszej wersji LTS Node.js:

curl -L https://git.io/n-install | bash

Jest to zdecydowanie najprostszy sposób na rozpoczęcie pracy zarówno z N, jak i Node.js - nawet jeśli chcesz zainstalować tylko najnowszą wersję Lode (wsparcie długoterminowe) Node.js, bez żadnych (natychmiastowych) planów instalacji wielu wersje. Najlepsze jest to, że możesz aktualizować wersję węzła w locie. To musi być moje ulubione narzędzie do węzłów. NVM jest podobny, ale nmoje preferencje.


0

Możesz także użyć NVM. Który jest menedżerem wersji węzła, który umożliwia przełączanie pomiędzy różnymi wersjami węzłów w bardzo prosty sposób. Wystarczy uruchomić następujące polecenia:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

command -v nvm

Następnie ponownie otwórz terminal i wykonaj:

nvm install lts/*

Spowoduje to pobranie kodu źródłowego Nodejs i wykonanie instalacji dla Ciebie.

Jedną z kluczowych zalet NVM jest możliwość instalowania globalnych pakietów bez użycia sudo

Jeśli chcesz uzyskać więcej informacji o NVM, sprawdź ich repozytorium Github:

https://github.com/creationix/nvm


Jeśli zainstalowany jest pakiet Snap Node.js, można przełączać się między różnymi wersjami Node.js bez konieczności angażowania dodatkowych narzędzi, takich jak nvm.
— karel

To świetne pytanie. Nie wierzę, że możesz, ponieważ podstawową zasadą snapów jest posiadanie najnowszej wersji oprogramowania, która jest odizolowana od reszty systemu plików.
— Seth Bergman
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.