1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Обновить Node JS на Ubuntu

Тема в разделе "Софт", создана пользователем имя, 29.12.21.

  1. имя

    имя Активный участник

    13.869
    2.565
    У нас же тут есть знатоки бубунты? Хэлп, плиз.
    Стоит у меня на ноуте якобы стабильная нода 16й версии,

    upload_2021-12-29_20-13-58.png

    но в терминале, на node -v отвечает всегда 14.0.0
    Ну и на самом деле она видимо 14я, поскольку периодически консоль ругается на несовместимость при установке каких-нибудь npm пакетов. Что я только не делал, никакой гуглинг не помогает, тематические форумы тоже.
    Пока решил эту проблему через nvm, но это очень неудобно, приходится постоянно дергать эту ручку. Хочу, чтобы духу не было от 14й версии. Реально это сделать как-то?

    sudo npm cache clean -f
    sudo npm install -g n
    sudo n stable

    Все советуют сделать это, но мне не помогает:

    antonz@comp:~$ node -v
    v14.0.0
    antonz@comp:~$ sudo npm cache clean -f
    antonz@comp:~$ sudo npm install -g n
    added 1 package, and audited 2 packages in 2s found 0 vulnerabilities
    antonz@comp:~$ sudo n stable
    installed : v16.13.1 (with npm 8.1.2)
    antonz@comp:~$ node -v
    v14.0.0
     
  2. 027

    027 Активный участник

    9.039
    2.885
    Тут не убунты знаток нужен, а того лютого бардака, который развели в экосистеме ноды.
    У вас, походу, system-wide версия 14 установлена из основного репозитория убунты или ppa какого-то, а жабоскриптерский менеджер пакетов лепит куда-то локально 16-ю.

    Выполните:
    apt policy nodejs
    и, до кучи:
    file $(which node)

    Выхлоп в студию.

    ***
    Еще попробуйте набрать в терминале node и сразу нажать два раза Tab. Может, выскочит через автодополнение какая-нить node16. И node14 заодно.
     
    Последнее редактирование: 29.12.21
  3. legatus

    legatus Активный участник

    7.417
    3.907
    dpkg --get-selections | grep node
    sudo apt purge nodejs

    Далее
    sudo apt install nodejs

    Но вообще лучше использовать nvm
    Улалите из nvm все версии ноды, потом накатите 16-ю. Она будет запускаться по умолчанию.
     
  4. имя

    имя Активный участник

    13.869
    2.565
    upload_2021-12-30_9-46-50.png

    upload_2021-12-30_9-48-6.png
     
  5. 027

    027 Активный участник

    9.039
    2.885
    @имя
    Ага,вон где собака порылся. Во время каких-то предыдущих упражнений была установлена v.14 в домашний каталог, и застряла в системе, как версия по умолчанию.
    Покажите выхлоп
    Код:
    update-alternatives --config npm
    Скриншоты делать не обязательно, текст из терминала легко выделяется мышой и копируется через контекстное меню, либо <Ctrl+Shift+C>.
     
  6. имя

    имя Активный участник

    13.869
    2.565
    Код:
    update-alternatives: error: no alternatives for npm
    Спасибо))))
     
  7. 027

    027 Активный участник

    9.039
    2.885
    тьфу, блин! Новый год к нам приходит...
    Конечно же
    Код:
    update-alternatives --config node
    нам же альтернативы для команды node посмотреть надо

    А <Ctrl+Shift+F> — поиск по всей портянке, если выхлопа много и мотать замотаешься.
    Не винда, чай. :)
     
  8. имя

    имя Активный участник

    13.869
    2.565
    Да я знаю, мне просто скриншот быстрее сделать. Но если скриншотом не удобно, то нет проблем, сделаем буковамэ)))
    update-alternatives: error: no alternatives for node
     
  9. 027

    027 Активный участник

    9.039
    2.885
    Сделать-то быстрее, а вставлять в ответ?
    Когда буквамэ, отвечающему легко скопировать нужное, а когда скриншот, придется набирать вручную. ;)
    Опа. Давайте тогда дальше копать дебиановские умолчания (убунта тут ни при чем, кстати).
    Покажите выхлоп:
    Код:
    echo $PATH
    Код:
    which -a node
    Код:
    type -a node
     
  10. имя

    имя Активный участник

    13.869
    2.565
    Такс, я вроде победил эту хрень. Скорее всего дело было в nvm.
    Я ее снес
    rm -rf ~/.nvm
    Потом установил ей 16ю версию
    nvm install 16

    И теперь

    $ node -v
    v16.13.1
     
  11. 027

    027 Активный участник

    9.039
    2.885
    Вы не «ее» снесли, а вручную удалили ее каталог у данного локального пользователя. Вместе с бинарником 14-й версии.
    Вот и слава Б-гу. :)
    Жаль, причину не установили, мне было любопытно.
    К тому же, наверняка в дефолтах срань осталась, хоть и не мешает пока.
     
  12. имя

    имя Активный участник

    13.869
    2.565
    Еще не поздно?))

    это еще актуально?
     
  13. 027

    027 Активный участник

    9.039
    2.885
    Если не влом, сделайте
    Код:
    echo $PATH
    и
    Код:
     file $(which -a node)
     
  14. имя

    имя Активный участник

    13.869
    2.565
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/antonz/Android/Sdk/emulator:/home/antonz/Android/Sdk/tools:/home/antonz/Android/Sdk/tools/bin:/home/antonz/Android/Sdk/platform-tools:/home/antonz/Android/Sdk/emulator:/home/antonz/Android/Sdk/tools:/home/antonz/Android/Sdk/tools/bin:/home/antonz/Android/Sdk/platform-tools
     
  15. 027

    027 Активный участник

    9.039
    2.885
    В путях срани от ноды нет.
    А file $(which -a node) я так понял, влом. :)
     
  16. имя

    имя Активный участник

    13.869
    2.565
    Не, я просто не увидел сперва))


    /usr/local/bin/node: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b84365bb5fa973b......e5bd2e465bd9, with debug_info, not stripped
    /usr/bin/node: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b84365bb5fa973b......e5bd2e465bd9, with debug_info, not stripped
    /bin/node: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b84365bb5fa973b.......e5bd2e465bd9, with debug_info, not stripped
    /snap/bin/node: symbolic link to /usr/bin/snap
     
  17. 027

    027 Активный участник

    9.039
    2.885
    Ну и ну... Копии бинарника распиханы по трем стандартным путям, которые могут встретиться в PATH в разнообразных версиях *nix. Даже в системный каталог /bin/ залезли своими кривыми лапками.
    Debian alternatives? Симлинки? Не, не слышали.
    Нода такая нода.
     
    Последнее редактирование: 30.12.21