Neden Ubuntu 16.04'e 6.x düğümünü yüklemek gerçekte 4.2.6 düğümünü kuruyor?


78

Bunlar, Ubuntu 16.04’e düğümü yükleme adımlarımdı:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs 
sudo apt-get install -y npm

resmi talimatlar hangileridir:

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

Bunu yaptıktan sonra, çalışan nodejs --versiondöner v4.2.6.

Kullandığım gibi setup_6.xbaşlangıçta bir sürümün 6yükleneceğini varsayıyordum.

setup_6.xOlması gerektiğini düşündüm setup_6.2.1, ama bu sayfa bir 404 döndürüyor, bakınız:

https://deb.nodesource.com/setup_6.x (orada bir sayfa var)

https://deb.nodesource.com/setup_6.2.1 (bir 404 döndürür)

Düğümün son kararlı sürümünü Ubuntu 16.04'e nasıl kurarım?

Düzenle:

Bunlar çalıştırdıktan sonra elde edilen sonuçlardır sudo apt-get install -y nodejs:

sudo apt-get install -y nodejs 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp libboost-python1.58.0 libjs-inherits libjs-node-uuid libjs-underscore
  libssl-dev libssl-doc libuv1-dev linux-headers-4.4.0-18
  linux-headers-4.4.0-18-generic linux-headers-4.4.0-21
  linux-headers-4.4.0-21-generic linux-image-4.4.0-18-generic
  linux-image-4.4.0-21-generic linux-image-extra-4.4.0-18-generic
  linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-18-generic
  linux-signed-image-4.4.0-21-generic python-configobj python-pycurl
  python-pyexiv2 python-pyexiv2-doc
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/3,162 kB of archives.
After this operation, 13.2 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 329473 files and directories currently installed.)
Preparing to unpack .../nodejs_4.2.6~dfsg-1ubuntu4_amd64.deb ...
Unpacking nodejs (4.2.6~dfsg-1ubuntu4) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.7.5-1) ...
Setting up nodejs (4.2.6~dfsg-1ubuntu4) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode

Düzenle:

Sonuçları apt-cache policy nodejs:

apt-cache policy nodejs
nodejs:
  Installed: 4.2.6~dfsg-1ubuntu4
  Candidate: 4.2.6~dfsg-1ubuntu4
  Version table:
 *** 4.2.6~dfsg-1ubuntu4 500
        500 http://au.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status

apt-cache policy nodejsLütfen çıktının bir kopyasını, düzenleme olarak sorunuza ekleyin.
Thomas Ward

Sistemin NodeJS 4.x'te çekilmiş olması, yanlış komut dosyalarını çalıştırdığınız veya havuzun sisteme doğru bir şekilde eklenemediği anlamına gelir - bağlantı kurduğunuz sayfadaki ana hatlarını tam olarak kullanarak en son yüklenenleri edinebilirim. olduğu gibi, herhangi bir sayıda sorun olabilir - apt-cacheverilerinizi sağlayabilirseniz, böylece bilgisayarınızın depolarda ne gördüğünü görebiliriz, daha fazla yardımcı olabiliriz.
Thomas Ward

@ThomasW. - Yayına veri eklendi.
user1063287,

1
Güncellenen veriler için teşekkürler. Senaryo, ne sebeple olursa olsun yapması gerekeni yapmadı. Bu durumun ve betiğin ne yaptığını yapmanın 'manuel' yolunun detayını aşağıdaki cevabımda detaylandırıyorum. NodeJS'den en son sürümü almak için bunu kullanabilirsiniz. Bir senaryo kadar güzel ve kolay değil, fakat senaryo aslında özünde de öyle.
Thomas Ward

1
Pipe Neyse ki benim gibi insanlar tahrip edilebilir VM'lerde senaryolar yayınladı, böylece ne yaptığını görebiliyoruz. Cevabımdaki talimatları bu şekilde türetmiştim, bu yüzden 'script' in manuel olarak yaptığı şeyi yapabiliriz.
Thomas Ward

Yanıtlar:


136

Bunun temel nedeni, kurulum komut dosyasının doğru şekilde çalışmamasıdır. Bu nedenle, bunu destekleyen OP'den gelen güncellenmiş veriler sayesinde, NodeSource deposundaki veriler apt, senaryo tarafından doğru şekilde yapılandırılmadığı için hiç görülmedi .

Bu nedenle, komut dosyası dağıtımınızı bulamamış olabilir veya depoyu yapılandırırken dağılmış olabilir veya bir ağ kesintisi olmuş olabilir veya binlerce nedenden herhangi birinin bozulması ve işini yapmaması olabilir.

Sürümün 4.xyüklendiğini görmeniz , komut dosyasının işini doğru yapmadığı anlamına gelir; bu nedenle komut dosyası mutlaka hatalı değildir. Bu sadece potansiyel olarak daha zor bir yol yapmamız gerektiği anlamına gelir.

Ben işaret etmeliyim: script aslında herhangi bir kurulum yapmıyor - tüm yaptığı, Debian / Ubuntu versiyonunu belirlemek ve veri deposunu veri alacağı şekilde yapılandırmak. Kurulum kısmı aslında sudo apt-get installelle koştuğunuz adımdır.


Senaryoya güvenmek yerine, senaryonun eski okul yolunda ne yaptığını yapabiliriz: elle kendimiz depo yapılandırmasını ayarlayıp NodeJS'yi kurarız.

İşte bu işi yapmanın manuel yolu ve temelde betiğin yaptığı şey (doğru sürüm verilerini aldığınızdan emin olmak için 4. Adım hariç):

  1. Yeni bir dosya oluştur: /etc/apt/sources.list.d/nodesource.list

    Bu dosyayı birlikte oluşturmanız gerekir sudo, ancak dosyayı oluştururken bunu içine yerleştirin:

    deb https://deb.nodesource.com/node_6.x xenial main
    deb-src https://deb.nodesource.com/node_6.x xenial main
    

    Sonra dosyayı kaydedin. (yerine node_6.xile node_7.xveya node_8.xyeni bir düğüm versiyonları için, vb)

  2. Depo için Düğüm Kaynağından GPG İmzalama Anahtarını indirin . Aksi takdirde, NO_PUBKEYhatalarla karşılaşabilirsiniz apt-get update( yüklü wgetdeğilse bu komutta kullanın curlve eğer ikisi de yüklenmemişse, bunlardan birini yükleyin):

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
    
  3. Manuel olarak çalıştırsudo apt-get update .

    Bu, düğüm kaynağı deposundaki verileri yeniler, böylece aptdaha yeni bir sürümün mevcut olduğunu bilir.

    Bir NO_PUBKEYGPG hatası alırsanız , Adım 2'ye geri dönün

  4. apt-cache policy nodejsÇıkışı kontrol edin .

    Bu komut dosyası tarafından yapılmaz, ancak çıktıda böyle bir şey söyleyen bir giriş gördüğünüzden emin olmak istersiniz (sürüm dizesi olarak 6.x kullanmıyorsanız sürüm farklı olabilir; umursamıyorum ki, nodesource aracılığıyla sağlanan daha yeni bir sürüm numarası var):

    Version table:
        6.2.1-1nodesource1~xenial1 500
           500 https://deb.nodesource.com/node_6.x xenial/main amd64 Packages
        4.2.6~dfsg-1ubuntu4 500
           500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
    

    Bunun gibi girişler görmüyorsanız ve yalnızca 4.2.6'yı görüyorsanız, baştan başlayın. Aksi takdirde, devam edin.

  5. nodejsİkili dosyayı takın . Şimdi sisteminizde 6.x kullanılabilir olduğunu onayladığınıza göre, onu kurabilirsiniz:sudo apt-get install nodejs

  6. nodejs --versionşimdi v6.2.1çıktıda göstermeli veya benzer olmalıdır ( v6.sürüm 6 ile başladığınız sürece başlarsa ; 6'dan daha yeni bir sürüm kullanıyorsanız ancak bu sürüm 4.2.6 olmadıkça bu daha yüksek sürüm sayısı olabilir. Gitmek iyi olmalı).


4
Bunu bir T takip etti ve tüm noktalar açıklanan davranışla eşleşti. Çok teşekkür ederim.
user1063287 3

1
@ user1063287 Bir şey değil! Umarım bu senaryo da onlar için işe yaramazsa başkalarına yardımcı olur! En son NodeJS'yi kullanmanın tadını çıkarın!
Thomas Ward

Yani o 'Yaptığım düşündüğümde aslında Düğüm 6 gerekmez yüzden, ve programlar ı sürüm 6. Teşekkür ihtiyaç şikayet ediyorlar!
kedi

Teşekkürler, harika çalıştı, bende /etc/apt/sources.list.d/nodesource.listdevre dışı bırakıldığına dair bir yorum olduğunu fark ettim - ayrıca eski 0.x sürümü de vardı ve -v düğümü ile 4.x'de bulundum. Güzel net talimatlar.
DaveStSomeWhere

1
Curl varsayılan olarak yüklenmediği wget -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
taktirde

38

Daha eski bir düğüm versiyonum vardı. Tek yapmam gereken eskisini temizlemekti:

sudo apt-get purge nodejs npm

Ve sonra, v=6ilgili sürümler için gerektiğinde 6 inç'in 7, 8, 9 ile değiştirilmesi (bkz. Resmi kurulum talimatları ):

v=6
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

(kıvrılmış taktığınızdan emin olun.)

Ve son olarak,

sudo apt-get install -y nodejs

Boom, düğümün en son versiyonu.


4
Veya, https://deb.nodesource.com/setup_7.xv7 düğümü için. Resmi kılavuza
ryenus

2
Mine hala v4.2.6 yükler
Freek Nortier

1
@FreekNortier Ayrıca Linux Mint 18'de de bu sorunu yaşıyordum. Tahliye ve çalıştırmadan sonra sürüm 11'i yükleyebildim sudo apt-get install python-software-properties. Bu öneriyi tecadmin ve codebindon'da buldum .
Ben

4

Ubuntu 16.04.2 sürüm kullanıcısı için (Thomas'post'tan biraz değişiklik yapıp ona teşekkür etti)

1. yazılım güncelleyicisini açın

2.setting

3. başka bir yazılım

4. Kaynakları ekleyin ancak tüm yeni kaynaklar seçeneğini daha sonra seçmeyi unutmayın. Exp:


deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main

5.reload

6.sudo apt-get update

7. apt-cache policy nodejs// yeni sürüm tablosunu almak ve kaynağın ayarlarının yapılıp yapılmadığını kontrol etmek için

8.sudo apt install nodejs

9.nodejs --version

ŞİMDİ Her şey ayarlandı .......

uyarı: nvidia kartınız için olan Linux varsayılan sürücünüzü güncelleme panelinden değiştirmeyin .... sistem kilitlenecek .... !!!


V4.2.6'yı yükler.
Prashant Prabhakar Singh

Güzel! benim için çalıştı
ejaenv 5:18

3

Ben de aynı sorunu yaşadım. Ancak benim durumumda curl komutumu yükseltmem gerekiyordu. -S seçeneğiyle çalıştırarak sorunu görebilirsiniz.

curl -s -S https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -

Hangi sorunu gösterdi

curl: (1) Protocol "https" not supported or disabled in libcurl
gpg: no valid OpenPGP data found.

Bu yüzden aşağıdakileri çalıştırarak bu sorunu düzelttim.

sudo apt-get install curl
sudo apt autoremove
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

sorunu çözdü
SadeepDarshana

1

@Thomas Ward ekleyerek, https URL ile 8.xx nodejs 8.x kurulumunda sorun yaşayanlara cevap verin veya kod devam edin v4.2.6'yı yükleyerek sertifika hatalarını göstererek aşağıdaki satırları kullanarak nodesource.list eklemeyi deneyin

deb http://deb.nodesource.com/node_8.x xenial main
deb-src http://deb.nodesource.com/node_8.x xenial main

sonraki adım: Çalıştır

sudo curl -sL http://deb.nodesource.com/setup_8.x | sudo -E bash -

Sonra

sudo apt-get install -y nodejs

Bu, Ubuntu 16.04 LTS için benimkileri çözen güncellenmiş nodejs sürümü ve npm sürümünü yükleyerek sorununuzu çözecektir ...


0

Bu bağlantıyı buldum ve Nodejs8____https: //www.ubuntuupdates.org/ppa/nodejs_7.x kurmamda bana yardımcı oldu. Bu hatta Nojs8https'a katılmak zorunda kaldım çünkü ikiden fazla bağlantı gönderebilmek için iki seviyeli olmam gerektiğini söylüyordu. Bunun rastgele olduğunu düşünüyorum ama her neyse.

Kurmadan önce şu komutu çalıştırdım: apt-get remove --purge version nodejs

Yüklü bir sürüme sahip olmadığınızı doğrulamak için: apt-cached policy nodejs ve veya nodejs --version

Düğüm js 8'i sadece 7 ila 8 değiştirerek yükleyebildim ve 8.1.3 sürümüyle bitirdim. Bunu yapmak için, yukarıda belirtilen sayfadaki komutları çalıştırdım ama yine de komutları burada verdim:

Depo anahtarını şununla indir:

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

Ardından depoyu kurun ::

sudo sh -c "echo deb https://deb.nodesource.com/node_7.x zesty main \ > /etc/apt/sources.list.d/nodesource.list"

sudo apt-get update

sudo apt-get install nodejs

Yine, eğer js 8 düğümünü istiyorsanız, bu komut satırındaki 7 sayısını 8 ve işte!


0

Sürüm 8 için https://github.com/nodesource/distributions adresindeki talimatları izlemeye çalıştım , ancak bu benim için işe yaramadı. Doğrudan tarayıcıdan https://deb.nodesource.com/setup_8.x adresini ziyaret ettim ve komut dosyasını kopyalayıp sistemimdeki nodejs.sh dosyasındaki bir dosyaya yapıştırdım . Sonra aşağıdaki komutları yürüttüm

sudo -E bash nodejs.sh
apt-cache policy nodejs
sudo apt-get install nodejs

Apt-cache komutu 8'i kurma tercihiyle iki versiyon gösterdi. Daha sonra kurulum dosyasını silebilirsiniz. Curl komutunun betiği düzgün gösterdiği için dosyayı neden yerel olarak kopyaladığınızdan emin değilim.


0

Hey çocuklar Ubuntu 16'nız varsa bu talimatları deneyin. Bu benim için mükemmel çalıştı.Ayrıca bu işlem sorulduğunda hesap şifrenizi de verin.

  1. sudo su -c "echo 'deb https://deb.nodesource.com/node_8.x xenial ana' >> /etc/apt/sources.list.d/nodesource.list"

  2. sudo su -c "echo 'deb-src https://deb.nodesource.com/node_8.x xenial ana' >> /etc/apt/sources.list.d/nodesource.list"

  3. sudo apt-get update

  4. apt-cache policy nodejs Listelenen sürümlerin düğüm 8 olup olmadığını kontrol edin

  5. sudo apt-get install düğümü

  6. nodejs -v yüklü olan düğüm sürümünü kontrol eder

Bu başarıyla sisteminize nodejs version 8'i kuracaktır. Başka bir sürüm istiyorsanız, adım 1 ve 2'deki sürümü değiştirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.