如何在 Windows 中获得最新版本的 Elixir
How to have latest version of Elixir in Windows
背景
我在 Windows 机器上,我希望在其中安装最新版本的 elixir。这比预期的要难。
研究
最初我为 Windows 搜索了类似于 asdf 的东西,但是这个平台没有类似的东西。 Scoop 是最接近的工具,但它需要我编写自定义脚本并学习另一种工具,我现在不喜欢这两样东西:
https://elixirforum.com/t/elixir-version-manager-for-windows/39399/5
然后我转向巧克力:
https://community.chocolatey.org/packages?q=elixir
看起来很完美,但是已经严重过时了,只有 11.X 版本
没有任何更新的迹象,所以这个也出来了。
我最后的希望,也许是 Docker …
https://hub.docker.com/_/elixir
看起来有一个版本 12.X,希望使用 OTP 24(我的目标):
FROM erlang:24
# elixir expects utf8.
ENV ELIXIR_VERSION="v1.12.3" \
LANG=C.UTF-8
RUN set -xe \
&& ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \
&& ELIXIR_DOWNLOAD_SHA256="c5affa97defafa1fd89c81656464d61da8f76ccfec2ea80c8a528decd5cb04ad" \
&& curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \
&& echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \
&& mkdir -p /usr/local/src/elixir \
&& tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \
&& rm elixir-src.tar.gz \
&& cd /usr/local/src/elixir \
&& make install clean \
&& find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \
&& find /usr/local/src/elixir/ -type d -depth -empty -delete
CMD ["iex"]
问题
但是,我还没有被说服。我使用 Docker 容器的唯一经历非常痛苦。我知道事情在此期间发生了变化,Docker 似乎是大多数开发人员争取的解决方案。
但是,我不确定投资这个工具(记住,我放弃了 scoop 是因为我不想投资它)是否会得到回报:
- 我可以使用容器为 Windows 创建版本吗?
- 我也可以为 Ubuntu 创建版本吗? (我很确定我不能,因为我的主机是 Windows,但只是确认)
- 你们有推荐 Windows 的指南吗?
备选方案
我觉得我在这里触及桶底。老实说,我 运行 别无选择。欢迎任何想法。
抱歉,我没有在 Windows 上使用 Elixir 的个人经验,但引用 official site:
中的说明
- Download the installer
- Click next, next, …, finish
来自安装程序README:
- Downloads and installs the latest Elixir version, or another version the user selects
回答
这一关并不容易。我不得不等待 Windows 二进制文件准备就绪。
获得最新版本的唯一方法是自己编译。
第 1 步
但是,如果这是您做不到的事情,请获取最新的 Erlang/OTP
你必须去这里的版本:
这里我下载了Erlang/OTP24.
第 2 步
之后,我下载了 Windows 的 Elixir 官方版本,并将其配置为使用我已经安装的 Erlang/OTP 版本(它默认执行):
第 3 步(可选)
如果您想使用 Elixir 开发桌面应用程序,最后一步是下载对 Edge 的 WebView 支持:
完成!
背景
我在 Windows 机器上,我希望在其中安装最新版本的 elixir。这比预期的要难。
研究
最初我为 Windows 搜索了类似于 asdf 的东西,但是这个平台没有类似的东西。 Scoop 是最接近的工具,但它需要我编写自定义脚本并学习另一种工具,我现在不喜欢这两样东西:
https://elixirforum.com/t/elixir-version-manager-for-windows/39399/5
然后我转向巧克力:
https://community.chocolatey.org/packages?q=elixir
看起来很完美,但是已经严重过时了,只有 11.X 版本 没有任何更新的迹象,所以这个也出来了。
我最后的希望,也许是 Docker …
https://hub.docker.com/_/elixir
看起来有一个版本 12.X,希望使用 OTP 24(我的目标):
FROM erlang:24
# elixir expects utf8.
ENV ELIXIR_VERSION="v1.12.3" \
LANG=C.UTF-8
RUN set -xe \
&& ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \
&& ELIXIR_DOWNLOAD_SHA256="c5affa97defafa1fd89c81656464d61da8f76ccfec2ea80c8a528decd5cb04ad" \
&& curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \
&& echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - \
&& mkdir -p /usr/local/src/elixir \
&& tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \
&& rm elixir-src.tar.gz \
&& cd /usr/local/src/elixir \
&& make install clean \
&& find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + \
&& find /usr/local/src/elixir/ -type d -depth -empty -delete
CMD ["iex"]
问题
但是,我还没有被说服。我使用 Docker 容器的唯一经历非常痛苦。我知道事情在此期间发生了变化,Docker 似乎是大多数开发人员争取的解决方案。
但是,我不确定投资这个工具(记住,我放弃了 scoop 是因为我不想投资它)是否会得到回报:
- 我可以使用容器为 Windows 创建版本吗?
- 我也可以为 Ubuntu 创建版本吗? (我很确定我不能,因为我的主机是 Windows,但只是确认)
- 你们有推荐 Windows 的指南吗?
备选方案
我觉得我在这里触及桶底。老实说,我 运行 别无选择。欢迎任何想法。
抱歉,我没有在 Windows 上使用 Elixir 的个人经验,但引用 official site:
中的说明
- Download the installer
- Click next, next, …, finish
来自安装程序README:
- Downloads and installs the latest Elixir version, or another version the user selects
回答
这一关并不容易。我不得不等待 Windows 二进制文件准备就绪。 获得最新版本的唯一方法是自己编译。
第 1 步
但是,如果这是您做不到的事情,请获取最新的 Erlang/OTP 你必须去这里的版本:
这里我下载了Erlang/OTP24.
第 2 步
之后,我下载了 Windows 的 Elixir 官方版本,并将其配置为使用我已经安装的 Erlang/OTP 版本(它默认执行):
第 3 步(可选)
如果您想使用 Elixir 开发桌面应用程序,最后一步是下载对 Edge 的 WebView 支持:
完成!