The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Как обмануть apt?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Системное и пользовательское ПО)
Изначальное сообщение [ Отслеживать ]

"Как обмануть apt?"  +/
Сообщение от Русский рэп (?), 01-Май-20, 05:54 
Здравствуйте

Предыстория.
В репах убунты по умолчанию древняя версия nodejs. К счастью, есть сторонний резозиторий nodesource. Беда в том, что лентяи из nodesource сделали жесткую привязку ихней ноды ко второму питону

Обойти привязку вроде бы несложно: скачать deb-пакет, и установить командой
sudo dpkg --force-all -i nodejs_14.1.0-1nodesource1_amd64.deb

Беда в том, что после такого лайфхака ничего более установить не получится. Утилита apt завершается с ошибкой:
Unmet dependencies. Try 'apt --fix-broken install' with no packages

А если скомандовать этот самый 'apt --fix-broken install', то установится ненужный python2

Подскажите, как поставить пакет nodesource без зависимостей и не вызвать гнева apt? или иной выходи из ситуации

Ссылка на устанавливаемый deb-пакет: https://deb.nodesource.com/node_14.x/pool/main/n/nodejs/

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от bootforce (?), 01-Май-20, 06:12   +/
1) А зачем?

2) Сделать фейковый пакет, который "Provides: python2" и поставить его перед установкой ноды

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Русский рэп (?), 01-Май-20, 08:32   +/
> 1) А зачем?

Присутствие второго питона в системе вызывает неприятные эмоции )

> 2) Сделать фейковый пакет, который "Provides: python2" и поставить его перед установкой
> ноды

Как вариант. Или подправить зависимости в этом пакете. Но может есть способ без колдовства с файлами. Команда какая-нибудь

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #3, #4, #8

3. Сообщение от bootforce (?), 01-Май-20, 10:35   +/
>> 1) А зачем?
> Присутствие второго питона в системе вызывает неприятные эмоции )

Имхо, система с поломанными зависимостями -- больший повод для беспокойства

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

4. Сообщение от Аноним (4), 01-Май-20, 11:20   +1 +/

> Присутствие второго питона в системе вызывает неприятные эмоции )

это при том, что ты ноду ставишь

1. какая разница, что будет питон?
2. не ломай apt

можно еще попробовать тупо распаковать пакет, тогда apt ничего о нем знать не будет и, соответственно, не будет ругаться. Только потом не удивляйся.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

5. Сообщение от Аноним (5), 01-Май-20, 12:28   +/
Единственно верное решение - собрать ноду нужной вам версии самостоятельно. Опционально убрать в пакет, автоматизировать пересборку на актуальную версию с перепакетированием, локальный репозиторий, вот это всё.
Но первое движение - make && make install
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #7

6. Сообщение от Аноним (4), 01-Май-20, 12:53   +/
> Единственно верное решение
> make install

как из убунты сделать слаку?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

7. Сообщение от муу (?), 01-Май-20, 15:41   +/
> Единственно верное решение - собрать ноду нужной вам версии самостоятельно. Опционально
> убрать в пакет, автоматизировать пересборку на актуальную версию с перепакетированием,
> локальный репозиторий, вот это всё.
> Но первое движение - make && make install

ноде <13 нужен питон _2_ для сборки, ибо это гмо использует gypi

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #11

8. Сообщение от Аноним (8), 02-Май-20, 11:06   +1 +/
> Присутствие второго питона в системе вызывает неприятные эмоции )

NodeJS вызывает еще бОльшие неприятные эмоции

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

9. Сообщение от 1 (??), 02-Май-20, 17:57   +/
Если ставить из snap то там 15.0.0-nightly20200501e9518254
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

10. Сообщение от 1 (??), 02-Май-20, 18:03   +/
ну там похоже можно и из stable установить -- 14/stable: 14.1.0

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

11. Сообщение от Аноним (5), 03-Май-20, 02:20   +/
Собирайте 14. В любом случае подход "сделай сам" лучше, чем подсесть на чужую сборку, а потом мантейнер ее дропнет или накосячит с ней.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

12. Сообщение от And (??), 04-Май-20, 18:33   +/
Вроде, нужно дописать знак минус в конце имени ненужного пакета:
https://serverfault.com/questions/250224/how-do-i-get-apt-ge...

Запомнит ли Апт это - не знаю. Но, система пакетирования специально придумана и сделана чтобы таких вещей с зависимотями не делалось.

Но - большое достоинство этого мира - оставлена возможность сделать лучше других. :)

Ответить | Правка | Наверх | Cообщить модератору

13. Сообщение от BrainFucker (ok), 01-Авг-20, 14:25   +/
А зачем именно apt? None есть на официальном сайте портабельно собранный, просто распаковывается куда нибудь в /opt/nodejs и используется без всяких этих dependency hell.
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру