Size: a a a

Эликсир и Вунш

2019 September 09

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Кстати - версии из hex-а не удаляются (в отличие от JS) и если вендорить git зависимости, то вероятность того, что проект даже без закаченных в deps зависимостей стремится к нулю.
источник

AD

Artem Denezhny in Эликсир и Вунш
Dmitry Russ (Aleksandrov)
При наличии всего в deps-ах интернет и всё остальное не нужно.
да ну, что же вы такое говрите, проведите эксперемент, возмите папочку вашого проекта и перенесите ее на свежеустановленную систему без интернета, и попытайтесь там развернуть свой проект

elixir erlang установите из предварительно скаченых архивов

все, практика - критерий истины
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Artem Denezhny
да ну, что же вы такое говрите, проведите эксперемент, возмите папочку вашого проекта и перенесите ее на свежеустановленную систему без интернета, и попытайтесь там развернуть свой проект

elixir erlang установите из предварительно скаченых архивов

все, практика - критерий истины
Захвачу папочку ~/.mix и ~/.hex и я согласен провести эксперимент 🙂
источник

AD

Artem Denezhny in Эликсир и Вунш
~/.mix и ~/.hex к проекту не относятся, вы сами понимаете, условий тут ставить не нужно, говорить нужно по факту

но даже при этих условиях с этими папочками проект имеет высокую вероятность остаться несобранным
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Artem Denezhny
~/.mix и ~/.hex к проекту не относятся, вы сами понимаете, условий тут ставить не нужно, говорить нужно по факту

но даже при этих условиях с этими папочками проект имеет высокую вероятность остаться несобранным
Я знаю как mix и hex работает, поэтому говорю, что мне нужно чтобы без интернета собрать любой мой проект.
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Нет rebar-а, он лежит в ~/.mix
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Папка ~/.hex в принципе может и не понадобиться, нужно поставить эксперимент, а вот ~/.mix точно нужна.
источник

AV

Andrew Volozhanin in Эликсир и Вунш
Т.е. вы хотите сказать, что rust можно поставить на голую систему, склонировать проект и он заведется?
Не ставя dev файлы к тому же postgres или типа того
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Я ставил эксперимент, когда строил проект без интернета внутри бильд системы,  которая не давала mix-у ходить в интернет - поэтому это будет повторный эксперимент.
источник

AV

Andrew Volozhanin in Эликсир и Вунш
вообще странная постановка задачи, если честно.
это как требование, чтобы elixir проект завелся на голом bios, без интернета и установки OS.
понятно же что не заведется.
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
У Rust-а есть только одно существующее преимущество - это мультиверсионное компилирование, т.е. он может держать разные версии одного и того же(компилировать старый и новый код против разных версий одной и тоже же stdlib к примеру), чего Elixir не может - всё остальное плюс минус детали - будут те же самые проблемы.

Т.е. Rust даёт возможность миксовать старые и новые зависимости(зависящие от разных версий API) внутри одного проекта. Всё, все остальные проблемы +- детали, такие же как и у Elixir-а будут.
источник

AV

Andrew Volozhanin in Эликсир и Вунш
требования к системным библиотекам - это уже за грани ответственности elixir.
если нужно reproducable на голой системе - есть опять таки docker.
а для всего остального все равно нужно что-то доставлять в систему.
источник

AV

Andrew Volozhanin in Эликсир и Вунш
т.е. грубо говоря в системе без libpq-dev, rust проект никак не сможет завестить с postgres зависимостью?
источник

AD

Artem Denezhny in Эликсир и Вунш
Dmitry Russ (Aleksandrov)
У Rust-а есть только одно существующее преимущество - это мультиверсионное компилирование, т.е. он может держать разные версии одного и того же(компилировать старый и новый код против разных версий одной и тоже же stdlib к примеру), чего Elixir не может - всё остальное плюс минус детали - будут те же самые проблемы.

Т.е. Rust даёт возможность миксовать старые и новые зависимости(зависящие от разных версий API) внутри одного проекта. Всё, все остальные проблемы +- детали, такие же как и у Elixir-а будут.
скажу даже круче, у rust есть уровни гарантии сбоки приложения, в зависимости от которых вы понимаете с каими проблемами можно столкнуться в будущем
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Artem Denezhny
скажу даже круче, у rust есть уровни гарантии сбоки приложения, в зависимости от которых вы понимаете с каими проблемами можно столкнуться в будущем
Это и есть мультиверсионирование.

Если не менять версии, взять рабочий проект и рабочие зависимости для Elixir-а всё соберется и у Elixir-а на новой системе.
источник

AV

Andrew Volozhanin in Эликсир и Вунш
источник

AV

Andrew Volozhanin in Эликсир и Вунш
судя по тому, что тут пишут, при кросс-компиляции нужно указывать путь до нативных зависимостей.
т.е. с нуля не собрать
источник

AV

Andrew Volozhanin in Эликсир и Вунш
но я не знаком с rust совсем
источник

AV

Andrew Volozhanin in Эликсир и Вунш
мне не понятно как rust вообще может кешировать нативные библиотеки, вроде libpq-dev, ведь они тоже часто с зависимостями, и получается что нужно в папке проекта хранить чуть ли всю /var/lib.
источник

AV

Andrew Volozhanin in Эликсир и Вунш
а если он не кеширует libpq-dev сам, то проблемы точно такие же, как и у elixir, ruby и прочих
источник