Neden Ubuntu 16.04 üzerindeki düğüm 6.x, aslında 4.2.6 düğümünü yüklüyor?

68

Bunlar Ubuntu 16.04 üzerinde düğüm kurmak için benim adı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:

İşte

Bunu yaptıktan sonra, nodejs --version değerini çalıştırmak v4.2.6 değerini döndürür.

setup_6.x kullandığım için 6 ile başlayan bir sürümü kabul ediyordum?

Belki de% co_de yüzdesinin setup_6.x olması gerektiğini düşündüm, ancak bu sayfa 404 değerini döndürüyor, bkz:

İşte (orada bir sayfa var)

İşte (404 değerini döndürür)

Ubuntu 16.04'teki son kararlı sürüm sürümünü nasıl yüklerim?

Düzenle:

Bunlar, setup_6.2.1 çalıştırdıktan sonraki sonuçlardır:

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:

sudo apt-get install -y nodejs sonuçları:

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
    
sordu user1063287 13.06.2016 04:16

7 cevap

122

Temel neden, kurulum komut dosyasının düzgün çalışmadığıdır. Bu nedenle, bunu destekleyen OP'den güncellenen veriler sayesinde, NodeSource deposundan gelen veriler, betik tarafından düzgün şekilde yapılandırılmadığından apt tarafından hiç görülmemiştir.

Bu nedenle, betik sizin dağıtımınızı bulamamış olabilir, ya da depoyu yapılandırırken sorun yaşamış olabilir ya da bir ağ kesintisi olmuş olabilir ya da bin nedenlerden herhangi biri kesintiye uğramış olabilir ve iş.

4.x sürümünün yüklenmesini gördüğünüz gerçeği, komut dosyasının işini doğru yapmadığı anlamına gelir, bu nedenle komut dosyası mutlaka hatalı değildir. Bu sadece potansiyel olarak bunu daha zor bir şekilde yapmamız gerektiği anlamına geliyor.

  

Dikkat etmeliyim: komut dosyası aslında herhangi bir yükleme yapmıyor - tek yapmanız gereken, bulunduğunuz Debian / Ubuntu sürümünü belirlemek ve veriyi almak için depoyu yapılandırmak. Kurulum kısmı aslında elle çalıştırdığınız sudo apt-get install adımıdır.

Betiğe güvenmek yerine, komut dosyasının eski okul yolunu yaptığı şeyi yapabiliriz: elle, kendimiz, depo yapılandırmasını kur ve NodeJS'yi kur.

İşte bu işi yapmanın manüel yoludur ve temel olarak komut dosyasının ne yaptığıdır (doğru sürüm verilerini aldığınızdan emin olmak için 4. Adım hariç):

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

    Bu dosyayı sudo ile oluşturmanız gerekir, ancak dosyayı oluşturduğunuzda bunu içine koyun:

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

    Ardından dosyayı kaydedin. (Daha yeni Düğüm sürümleri için node_6.x node_7.x veya node_8.x vb. ile değiştirin)

  2. Havuz için Nodesource'dan GPG İmzalama Anahtarını indirin . Aksi takdirde, NO_PUBKEY hatasını apt-get update ile alabilirsiniz:

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
    
  3. El ile sudo apt-get update çalıştırın.

    Bu, nodesource repo'daki verileri yeniler, böylece apt daha yeni bir sürümün var olduğunu bilir.

    NO_PUBKEY GPG hatası alırsanız, 2. Adıma geri dönün

  4. apt-cache policy nodejs çıktısını kontrol edin.

    Bu, komut dosyası tarafından yapılmaz, ancak çıktıda böyle bir şey söyleyen bir girdi gördüğünüzden emin olmak istersiniz (sürüm sürümü olarak 6.x kullanmıyorsanız sürüm farklı olabilir); umursadığımız tek şey, nodesource ile sağlanan daha yeni bir sürüm numarasıdır):

    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
    

    Böyle girişleri görmüyorsanız ve sadece 4.2.6 görüyorsanız, baştan başlayın. Aksi halde devam edin.

  5. nodejs binary'sini yükleyin. Artık onayladığınıza göre 6.x sisteminizde kullanılabilir, bunu yükleyebilirsiniz: sudo apt-get install nodejs

  6. nodejs --version , çıktıda v6.2.1 veya benzeri göstermelidir ( v6. ile başlamış olduğunuz sürece 6. sürümdeyseniz, bu daha yüksek bir sürüm numarası olabilir. 6'dan daha yeni bir sürüm ancak 4.2.6 olmasa da iyi olmanız gerekir.)

verilen cevap Thomas Ward 13.06.2016 04:47
37

Daha eski bir düğüm sürümü vardı. Tek yapmam gereken eskisini temizlemek oldu:

sudo apt-get purge nodejs npm

Ve sonra,% 6 co_de% 'yi 7, 8, 9 ile ilgili sürümler için değiştirerek (bkz. resmi yükleme talimatları ):

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

(kıvrılmış olduğundan emin olun.)

Ve son olarak,

sudo apt-get install -y nodejs

Boom, düğümün son sürümü.

    
verilen cevap codemode 18.11.2016 19:34
3

Ubuntu 16.04.2 sürümü kullanıcısı için (Thomas'post'tan biraz değişerek ve ona teşekkür edin)

1. Yazılım güncelleyicisini kaldırın

2.setting

3. diğer yazılımlar

4. Kaynakları ekleyin ancak daha sonra tüm yeni kaynakları 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

% Yeni sürüm tablosunu almak için apt-cache policy nodejs // ve kaynak ayarlarının yapılmış olup olmadığını kontrol edin

8. sudo apt install nodejs

9 nodejs --version

ŞİMDİ hepsi ayarlandı .......

uyarı: nvidia kartınız için Linux varsayılan sürücünüzü updater panelinden değiştirmeyin .... sistem çökecektir .... !!!

    
verilen cevap Jason Liu 12.04.2017 23:46
2

Aynı sorunu yaşadım. Ama benim durumumda, kıvırma komutumu yükseltmem gerekiyordu. Sorunu -S seçeneği ile çalıştırarak görebilirsiniz.

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

Sorunu gösteren

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 çözdüm.

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
    
verilen cevap zatopek 17.11.2017 02:37
1

@Thomas Ward ekleyerek, nodejs 8.x'i https URL ile yükleme konusunda sorunla karşılaşanlara cevap verin veya kod, sertifika hatası göstererek v4.2.6'yı yüklemeye devam edin. nodesource.list'i aşağıdaki satırlarla 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 -

sudo apt-get install -y nodejs

Bu, Ubuntu 16.04 LTS için benim çözdüğüm için güncellenmiş nodejs sürümünü ve npm sürümünü yükleyerek sorununuzu çözecek ...

    
verilen cevap sunilsmith 23.10.2017 11:09
0

Bu bağlantıyı buldum ve Nodejs8

verilen cevap Victor Espinoza 29.06.2017 17:49
0

Sürüm 8 için İşte yönergelerini izlemeyi denedim, ancak bu benim için çalışmadı. İşte ’i doğrudan tarayıcıda ziyaret ettim ve komut dosyasını kopyalayıp sistemimdeki bir dosyaya yapıştırdım nodejs.sh em. Sonra aşağıdaki komutları uyguladıktan sonra

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

apt-cache komutu, kurulum için tercih edilen iki sürüm gösterdi. 8. Daha sonra yükleme dosyasını silebilirsiniz. Curl komutunun komut dosyasını düzgün göstermesi nedeniyle dosyanın yerel olarak kopyalanmasının neden yardımcı olmadığından emin değilsiniz.

    
verilen cevap Bryan Toth 03.04.2018 17:11

Etiketlerdeki diğer soruları oku