LINUX.ORG.RU
ФорумTalks

Пакетный менеджер cargo

 ,


0

1

Может я чего-то не понимаю, но мне холивар cargo vs системный менеджер кажется абсурдом. Потому хочу задать вопрос сторонникам единого системного менеджера пакетов.

Пусть есть игра с динамически загружаемым контентом. Игрок покупает или открывает предметы и происходит скачивание файла в хомяк юзера. Должна ли игра это опакетить и использовать системный пакетный менеджер? В чем отличие от cargo, который тоже качает в хоум?

И сразу еще один вопрос. А если cargo не создавал бы новых файлов, а хранил все в базе данных, был бы только распухающий файл ~/.cargo.db, он все равно считался бы конкурентом системному ПМ?

А другой кейс: есть прога, она на расте, через карго собираю и ставлю. И опа! Я не могу ее запустить штатно не от своего юзера, а от системного. Нормально? Разраб такой проги сказал мне: создай для проги отдельного полноценного юзера с хомяком и каргой в этом хомяке. Хе-хе...

mandala ★★★★ ()
Ответ на: комментарий от vlad9486

Тогда еще менее понятно, при чем тут системный пакетный менеджер. Cargo же вообще отвечает только за compile-time зависимости?

Spectator ()
Ответ на: комментарий от Spectator

Вот и мне непонятно, потому и завел тему. Думал что я что-то не знаю. А может это борцы с cargo что-то не знают. Вот как раз выясним.

vlad9486 ()
Ответ на: комментарий от mandala

Либо так, либо кто-то кого-то не понял. Такая тема может возникать, допустим, с питоном, где есть системные библиотеки и локальные для проекта. Но при правильной настройке PYTHONPATH конфликтов не будет.

Spectator ()

холивар cargo vs системный менеджер

Холивар шире чем cargo, он и про pip, gem, npm и тому подобное.

Это всё правда трешак, но другого выхода просто нет. Пакеты будут тухлые и никто просто не будет собирать их под большинство систем.

Пусть есть игра с динамически загружаемым контентом

Ты юзаешь карго для динамического контента в игре? Это точно не наркомания?

WitcherGeralt ★★ ()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

С чего можно было сделать такой вывод? Я спрашиваю нужен ли системной пм для dlc игры. И если ответ нет, то почему для библиотек раста он нужен?

vlad9486 ()
Ответ на: комментарий от slovazap

Ты представляешь какой ад будет, если каждый крошечный модуль для ноды (беру самый адовый пример) будут собирать в пакет? Разраб будет вынужден либо пытаться пропихивать его в дистры, либо держать свои репы для всего этого. А потом вспомни, что есть ещё всевозможный оффтопик.

WitcherGeralt ★★ ()
Ответ на: комментарий от slovazap

Системный ПМ даёт модерацию, тестирование и предсказуемость сборки

А ненсистемный этого дать принципиально не может? Почему? Модерацию даёт модератор, а тестирование тестер. Если они есть и работают, то это есть, иначе нету и какой там ПМ не важно.

vlad9486 ()
Ответ на: комментарий от WitcherGeralt

Ты представляешь какой ад будет, если каждый крошечный модуль для ноды (беру самый адовый пример) будут собирать в пакет?

Никакого не будет, так уже много лет делают для грёбаной кучи языков и для node тоже:

Чем Раст лучше Ада? (комментарий)

Разраб будет вынужден либо пытаться пропихивать его в дистры

Разраб ничего не должен никуда пропихивать, нужные модули опакетят без его участия, а ненужным там и не место.

А потом вспомни, что есть ещё всевозможный оффтопик.

Оффтопика на этом рынке нет и не будет.

slovazap ★★★★★ ()
Ответ на: комментарий от vlad9486

С чего можно было сделать такой вывод?

Запутался в потоке мыслей.

Я спрашиваю нужен ли системной пм для dlc игры

Если пакетный менеджер работает от юзера и сама игра шла в системном пакете, то да.

почему для библиотек раста он нужен?

Если бы Раст был на месте C / С++, то был бы нужен, а так нет.

WitcherGeralt ★★ ()
Ответ на: комментарий от vlad9486

А ненсистемный этого дать принципиально не может? Почему? Модерацию даёт модератор, а тестирование тестер.

И много ли в cargo, pypi, gems, npm модерации? Как же так получилось это https://www.opennet.ru/opennews/art.shtml?num=49490 и leftpad?

И много ли тестирования? Что, прямо под все железные архитектуры? Что, прям под Free/Net/OpenBSD, Haiku, OpenIndiana, macOS? Все дистрибутивы линукса? Включая оные с нестандартной иерархией каталогов? А как насчёт модулей которым нужно интегрироваться с нативными библиотеками? Прям вот с каждой версией в каждом дистрибутиве тестируют? И когда в каком-то дистрибутиве её обновляют, прям вот уже готовы результаты тестов что можно обновлять и проблем не будет и модуль не сломается?

Не смешите.

slovazap ★★★★★ ()
Ответ на: комментарий от mandala

Хочешь запустить не от своего юзера, а от системного: опакетируй, блин. Вместе с зависимостями.

Сборка - это для разработчиков, для юзеров свой загон есть.

Deleted ()
Ответ на: комментарий от slovazap

так уже много лет делают для грёбаной кучи языков

Ну допустим, но что делать, если нет рутовых прав?

ненужным там и не место

А что делать тем, кому нужны ненужные модули?

Оффтопика на этом рынке нет и не будет

Ежегодный опрос Stack Overflow показывает, что лишь 23% разрабов работают под линуксом.

WitcherGeralt ★★ ()
Ответ на: комментарий от Deleted

Как мне сказали, это скорее всего сам разраб загоняется и не шарит (он на винде сам в основном, так что не удивительно). Но ту прогу я выкинул и поменял на питоноскрипт: 600 метров на сборку ржавчины и 12 метров на питоноскипт (который уже стал на порядок функциональнее) — как говорится «почуствуйте разницу».

mandala ★★★★ ()
Ответ на: комментарий от Deleted

Я в ржавчине не шарю, правда. Вот и выполнял ридми, а там в хомяк. Спросил разраба — что он ответил, я и передал. Мопед не мой, короче. :) Но тут мне уже разжевали.

mandala ★★★★ ()
Ответ на: комментарий от Deleted

Не я ))). Нашел питонщика, он загорелся и написал на коленке за вечер. Вот допиливает уже несколько недель... Фан он такой...

mandala ★★★★ ()
Ответ на: комментарий от Deleted

12 метров это рамы, так то скрипт на пару сотен строк и дюжину модулей.

mandala ★★★★ ()
Ответ на: комментарий от vlad9486

Я как раз линкую раст приложения статически. Это дейсвительно наравне бега с преградами

vertexua ★★★★☆ ()
Ответ на: комментарий от WitcherGeralt

Ну допустим, но что делать, если нет рутовых прав?

А они не нужны.

А что делать тем, кому нужны ненужные модули?

А как вы думаете? Опакетить или пердолиться с pip'ами/cargo.

Ежегодный опрос Stack Overflow показывает, что лишь 23% разрабов работают под линуксом.

То где разработчик работает и то где он запускает код - разные вещи. И «средняя температура» не особо интересует.

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

А они не нужны

Каким это образом?

Опакетить или пердолиться с pip'ами/cargo

Вернулись к тому, с чего начали.

То где разработчик работает и то где он запускает код - разные вещи

Далеко не всегда, иногда очень даже удобно что-то запустить локально.

И «средняя температура» не особо интересует

Это не «средняя температура», а факты. У виндузятников нет лучших альтернатив недопакетным менеджерам для исходников.

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

Каким это образом?

Обычным.

Вернулись к тому, с чего начали

И с чего же вы начали?

Далеко не всегда, иногда очень даже удобно что-то запустить локально

Ну расспросите тех же веб разработчиков на досуге что они там запускают локально.

Это не «средняя температура», а факты. У виндузятников нет лучших альтернатив недопакетным менеджерам для исходников.

Это их личные проблемы.

slovazap ★★★★★ ()
Последнее исправление: slovazap (всего исправлений: 1)
Ответ на: комментарий от slovazap

Это их личные проблемы

Адекватность зашкалила, я умываю руки.

WitcherGeralt ★★ ()
Ответ на: комментарий от slovazap

Веб разработчих в этом ИТТ треде

Сеттинг: python3.6, REST API, flask (будь он проклят), mongodb (потому что хипстор)

Вся разработка идет локально - virtualenv на каждый проект, версии пакетов указаны строго. Virtualenv не дает доступа к системным пакетам (--no-site-packages, по-умолчанию с какой-то-там версии), конфликтов не возникает вообще - даже если в систему пакеты ставить не через системный менеджер, а через pip. Не знаю как с другими языками, но с python я более-менее уверен, что код будет работать и в других местах, если поставить нужные версии пакетов, а как - дело уже конечного пользователя.

Spectator ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.