3 ms·
love elixir. hate Mix. it's like using Maven or npm all over again. but even worse because it generates a lot of code. it creates disposable projects by desig
by rftyuikdjhgvcf 4y ago
love elixir. hate Mix.
it's like using Maven or npm all over again. but even worse because it generates a lot of code.
it creates disposable projects by design. No way to keep track of what to change when mix create outputs something different next year.
and now things like https://github.com/wojtekmach/mix_install_examples/blob/main/ecto_sql.exs https://github.com/wojtekmach/mix_install_examples/blob/main... where is ecto even installed? download from where? so annoying this trend.
- sph 4y agoYou are complaining because it downloads the dependencies of the libraries you declare? That's how any modern package manager works (I'm thinking cargo as well). I'm not sure why not doing that would be preferable.
- rftyuikdjhgvcf 4y agoyeah. exactly because it download depencies. I want my distro owner to decide that. most languages dont havea built in package manager.
- h0l0cube 4y ago> where is ecto even installed? For Mix.install you can optionally specify the cache directory. For regular projects they are in the deps folder. > The location of the cache directory can be controlled using the MIX_INSTALL_DIR environment variable. https://hexdocs.pm/mix/1.14/Mix.html#install/2 https://hexdocs.pm/mix/1.14/Mix.html#install/2 > download from where? https://hex.pm/packages/ecto https://hex.pm/packages/ecto Or you can specify a git commit, or a path if you want to alter it locally. > No way to keep track of what to change when mix create outputs something different next year. `mix.lock` keeps track of your resolved dependencies and should be checked in along with your code. Mix/Hex can also be provided the exact `==` versions rather than the `~>` or other Version specifiers https://hexdocs.pm/elixir/1.14/Version.html https://hexdocs.pm/elixir/1.14/Version.html
- rftyuikdjhgvcf 4y ago"project folder" which is oh so in line of single file utility scripts which you will run from all over the place. will you have one dep dir on each place you run the script at?
- mercer 4y agoSee, I feel it's a way to have some 'frameworky' elements in my projects that are wonderfully standardized. the changes that do occur usually are worth it. If anything I sometimes find myself annoyed that Ecto is not there by default, because it's part of almost all my projects, and often even a one-file script might benefit from bits of it.
- rftyuikdjhgvcf 4y agoalmost as if you wanted ecto packaged system wide, like, say a distro maintained package? ;)
- rkangel 4y agoWhat did you feel you needed to change on your project because the default template had changed? If the code works, then it keeps working. I've run into this with the Phoenix generators a bit because you need to make changes to your project if you want to update to newer versions of the Phoenix libraries, but they produce documentation about what you need to change.
- rftyuikdjhgvcf 4y agodo you read every release note to see what security improvements were added to phoenix template? yeah, nobody does.