NobbZ
Releases and nix (the package manager)
I’m currently looking into nix (the package manager) to eventually replace asdf-vm in my local development workflow and perhaps even to replace docker in my current CI…
Basically, the question is, if I use distillery or mix release in a derivation to build a release anywhere on a linux with nix available, can I safely use nix-copy-closure (or any other means of transfering the closure) to a host that might run ubuntu, redhat or anything else that I might not necessarily know in advance (though I know for sure those systems will have nix available).
Please lets not discuss about not knowing the system in advance, I know that this rarely happens, and it is not even true for me (it will be a ubuntu host), though I like to discuss the idea.
Most Liked
Ankhers
I quickly asked about a scenario like this on the Erlang slack last night. Here are a couple quotes.
this is true if you use at least one of:
- include ERTS into your release
- use NIFs or ports
In other cases you do not need to build and run release on the same OS version
only if you include erts or crypto, which are both compiled for particular versions of dynamicly linked libraries that if they different on the host they can’t run
probably different versions of libc and OpenSSL
These quotes actually came from @hauleth and @tristan.
With that said, I think those kinds of things would come along with your package in your scenario.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









