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.