Fl4m3Ph03n1x

Fl4m3Ph03n1x

How to have latest version of Elixir in Windows

Background

I am on a Windows machine and I am looking to install the latest version of elixir in it. This is being harder than expected.

Research

Initially I searched for something similar to asdf for Windows, but there is nothing similar for this platform. Scoop is the tool that comes closest, but it requires me to do custom scripts and to learn another tool, both things I am not a fan of right now:

Then I turned to chocolatey:

Which looks perfect, but it is severely outdated, being only in version 11.X
No signal of any updates to come, so this one is out as well.

My last hope, is perhaps Docker …

It looks like there is a version of 12.X, which hopefully uses OTP 24 (my goal):
https://github.com/erlef/docker-elixir/blob/a7a9a8ecd02b6e31e93cfa13d8c18de0328f6e1a/1.12/Dockerfile

Questions

However, I am not convinced yet. My only experiences with Docker containers were brutally painful. I understand things have changed in the meantime and that Docker seem to be a solution most developers fight for.

However, I am not sure if investing in this tool (remember, I discarded scoop because I didn’t want to invest in it) is going to pay off:

  • Will I be able to create releases for Windows using a container?
  • Will I be able to create releases for Ubuntu as well? (I am fairly sure I won’t be able to because my host is Windows, but just confirming)
  • Do you guys recommend any guides for Windows?

Alternatives

I feel like I am reaching for the bottom of the barrel here. I am honestly running out of options. Any ideas would be welcome.

Marked As Solved

Fl4m3Ph03n1x

Fl4m3Ph03n1x

Answer

This one was not easy. I had to wait for the Windows binaries to be ready.
The only way of getting the cutting edge release is to compile it myself.

Step 1

However, if this is something you can’t do, to have the latest Erlang/OTP
versions you have to go here:

Here I downloaded Erlang/OTP 24.

Step 2

After that, I downloaded the official version of Elixir for Windows, and configured it to use my already installed version of Erlang/OTP (which it does by default):

Step 3 (Optional)

The final step, if you want to have a desktop app with Elixir, is to download the WebView support for Edge:

https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/b97b52c3-9a66-419c-9ef0-90e3a3f72c5c/MicrosoftEdgeWebview2Setup.exe

Done !

Also Liked

webuhu

webuhu

I myself use a custom scoop bucket, but what it does can simple be done without it.

  1. Choose your disired precompiled elixir version from https://repo.hex.pm/builds/elixir/builds.txt
  2. Download from e.g. https://repo.hex.pm/builds/elixir/v1.12.3-otp-24.zip
  3. Extract and set the bin folder to your windows path

Edit:
Of course you have to take care of the runtime Erlang version installation separately.
No, creating a release on native Windows for Ubuntu won’t work.
But creating a release for Windows within a Docker container won’t work ether in my view.

IloSophiep

IloSophiep

I don’t feel qualified answering all of your questions, but for this one: Using a tool like Docker Desktop you can run both windows images and unix images on a Windows host. As far as I know you cannot manage them at the same time but I frequently switch between “using windows containers” and “using Linux containers” depending on my current needs

LostKobrakai

LostKobrakai

While the installer may not be that flexible you can always compile from source: Windows · elixir-lang/elixir Wiki · GitHub

The installer is just a convenience to hide the complexities involved for windows users and the (pre-)build versions only support the lowest supported otp version.

Where Next?

Popular in Questions Top

_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
Kurisu
For example for a current url like http://localhost:4000/cosmetic/products?_utf8=✓&query=perfume&page=2, I would like to get: ...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
JulienCorb
I am trying to implement my new.html.eex file to create new posts on my website. new.html.eex: <h1>Create Post</h1> <%= ...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29603 241
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36352 110
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 48342 226
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement