Size: a a a

2020 December 11

VG

Vadim Goncharov in use Perl or die;
как-то обсуждали тут уже
источник

VG

Vadim Goncharov in use Perl or die;
и картинка была не только это
источник

AB

Alex Bush in use Perl or die;
Vadim Goncharov
"правильно"... за вычетом того, что сама идея копий зависимостей отстойна
Для компилируемых языков норм
источник

И

Игорь in use Perl or die;
Vadim Goncharov
"правильно"... за вычетом того, что сама идея копий зависимостей отстойна
Там копии потому, что по другому проблемно гарантиовать работу пакете в котором опреденная версия зависимости. Это если коротко ответить. Если развернуть, то есть в приведенном цикле статей.

Зависимость "A" может использоваться сразу в 10 пакетах которые в проекте, и может быть так, что сразу в 10 используются разные версии этой зависимости и ломается обратная совместимость.
Если везде можно использовать последнюю версию, то там решается этот вопрос специальными инструментами(не помню часть npm они или отдельный пакет) и тогда не будет кучи копий.
источник

SZ

Sergey Zhmylove in use Perl or die;
Игорь
Вот, по моему оно.
https://habr.com/ru/company/domclick/blog/509440/

Это цикл статей (их 7 штук вроде) про то как работает npm в плане управления зависимостями и как там сделана безопасность.

Узнал для себя много интересного и по многим вещам согласен с решениями принятыми там. По размеру node_modules и по безопасности, на мой взгляд, сделано все правильно учитывая то как им удалось сохранить удобство использования.

Если есть что-то такое систематизированное по тому как внутри работает CPAN, то с радостью почитаю. Я люблю статьи такого формата, где рассказывается как и почему дошли до определенных архитекрутных решений.
Для этого не нужна статья. Автор модуля заливает tar на сервер, зеркала его копируют себе, ридми из него автоматически достается, залить одну и ту же версию два раза нельзя (как и файл с одним и тем же именем). cpan install просто скачивает архив, распаковывает и собирает
источник

IB

Ivan Bessarabov in use Perl or die;
Sergey Zhmylove
Для этого не нужна статья. Автор модуля заливает tar на сервер, зеркала его копируют себе, ридми из него автоматически достается, залить одну и ту же версию два раза нельзя (как и файл с одним и тем же именем). cpan install просто скачивает архив, распаковывает и собирает
Некоторое время наступал на проблему что в питоне перезалили библиотеку на pypi с той же версией
источник

VG

Vadim Goncharov in use Perl or die;
Игорь
Там копии потому, что по другому проблемно гарантиовать работу пакете в котором опреденная версия зависимости. Это если коротко ответить. Если развернуть, то есть в приведенном цикле статей.

Зависимость "A" может использоваться сразу в 10 пакетах которые в проекте, и может быть так, что сразу в 10 используются разные версии этой зависимости и ломается обратная совместимость.
Если везде можно использовать последнюю версию, то там решается этот вопрос специальными инструментами(не помню часть npm они или отдельный пакет) и тогда не будет кучи копий.
потому что весь веб - сплошные костыли от рождения
источник

AB

Alex Bush in use Perl or die;
Весь ойти такой
источник

И

Игорь in use Perl or die;
Sergey Zhmylove
Для этого не нужна статья. Автор модуля заливает tar на сервер, зеркала его копируют себе, ридми из него автоматически достается, залить одну и ту же версию два раза нельзя (как и файл с одним и тем же именем). cpan install просто скачивает архив, распаковывает и собирает
Мне в комментах переписать содержимое статей как устроен npm?😁

Там размер такой из-за того, что у зависимостей есть тоже зависимости и может быть такое, что везде разные версии одной и той-же подзависимости. Если версия одна и та-же, то 100500 копий не будет. Будут только если реально нужны 100500 разных копий.
источник

VG

Vadim Goncharov in use Perl or die;
Игорь
Мне в комментах переписать содержимое статей как устроен npm?😁

Там размер такой из-за того, что у зависимостей есть тоже зависимости и может быть такое, что везде разные версии одной и той-же подзависимости. Если версия одна и та-же, то 100500 копий не будет. Будут только если реально нужны 100500 разных копий.
спасибо, мы в курсе
источник

VG

Vadim Goncharov in use Perl or die;
они так делают, чтоб это говно хоть как-то работало
источник

SZ

Sergey Zhmylove in use Perl or die;
Vadim Goncharov
спасибо, мы в курсе
++
источник

VG

Vadim Goncharov in use Perl or die;
а не потому что так правильно
источник

VG

Vadim Goncharov in use Perl or die;
Alex Bush
Весь ойти такой
не весь
источник

AB

Alex Bush in use Perl or die;
99.(9)%, уговорил
источник

И

Игорь in use Perl or die;
Vadim Goncharov
они так делают, чтоб это говно хоть как-то работало
Ну а как по другому сделать, когда один пакет должен решать какую-то свою узкую задачу?

Киньте ссылки, с удовольствием почитаю. Я уже писал, мне нравится читать как люди приходят к определенным архитектурным решениям. На JS я почти не пишу, но материал очень годный в статьях. По перлу, конечно, интереснее было бы почитать что-то аналогичное.
источник

VG

Vadim Goncharov in use Perl or die;
да как, известно как - иметь совместимость и версионирование в апи, не таскать зависимостями чего попаало
источник

И

Игорь in use Perl or die;
Vadim Goncharov
да как, известно как - иметь совместимость и версионирование в апи, не таскать зависимостями чего попаало
Так там же есть версионирование. Или вы про что?
источник

VG

Vadim Goncharov in use Perl or die;
источник

VG

Vadim Goncharov in use Perl or die;
или то, что в glibc с версиями символов, постоянно забываю название
источник