如何在 Windows 中拥有最新版本的 Elixir

Posted

技术标签:

【中文标题】如何在 Windows 中拥有最新版本的 Elixir【英文标题】:How to have latest version of Elixir in Windows 【发布时间】:2021-11-13 22:48:02 【问题描述】:

背景

我在一台 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 似乎是大多数开发人员争取的解决方案。

但是,我不确定投资这个工具(请记住,我放弃了独家新闻是因为我不想投资它)是否会得到回报:

我能否使用容器为 Windows 创建版本? 我也可以为 Ubuntu 创建发行版吗? (我很确定我不能,因为我的主机是 Windows,但只是确认) 你们有没有推荐任何适用于 Windows 的指南?

替代方案

我觉得我正在触及桶底。老实说,我已经没有选择了。欢迎任何想法。

【问题讨论】:

Elixir 在 Windows 中的开发很困难。最终或暂时建立一切的大量努力。我最终选择了wsl2 ubuntu。我对此很满意。推荐你切换! 【参考方案1】:

对不起,我没有在 Windows 上使用 Elixir 的个人经验,但引用了 official site 的说明:

Download the installer 点击下一步,下一步,...,完成

来自安装程序README:

下载并安装最新的 Elixir 版本,或用户选择的其他版本

【讨论】:

没问题,除了 1 个细节。该版本不附带 OTP 24,因此它不是最新的。【参考方案2】:

回答

这并不容易。我不得不等待 Windows 二进制文件准备好。 获得最新版本的唯一方法是自己编译。

步骤 1

但是,如果您无法做到这一点,请使用最新的 Erlang/OTP 你必须去这里的版本:

https://www.erlang.org/downloads

我在这里下载了 Erlang/OTP 24。

第二步

之后,我下载了 Windows 版 Elixir 的官方版本,并将其配置为使用我已经安装的 Erlang/OTP 版本(默认情况下):

https://elixir-lang.org/install.html#windows

第 3 步(可选)

最后一步,如果你想拥有 Elixir 的桌面应用程序,是下载 Edge 的 WebView 支持:

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

完成!

【讨论】:

以上是关于如何在 Windows 中拥有最新版本的 Elixir的主要内容,如果未能解决你的问题,请参考以下文章

强制用户在 Android 中拥有最新的应用版本

如何在windows下搭建Nginx+MySQL+PHP环境

如何下载体验Windows最新版本

如何下载体验Windows最新版本

在VMware上安装MAC OS10.15最新版本并安装Xcode11.4教程(所有坑已经走过)

你如何获得最新版本的TortoiseHg