请问是否有离线安装HEX的解决方案?
D:PaperlessPeopleCostserver>mix local.hex --force
** (Mix) httpc request failed with: {:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], :etimedout}]}
Could not install Hex because Mix could not download metadata at https://repo.hex.pm/installs/hex-1.x.csv.
Alternatively, you can compile and install Hex directly with this command:
mix archive.install github hexpm/hex branch latest
D:PaperlessPeopleCostserver>
您显示的错误消息提示解决方案。我检查了hex
[1]的存储库,您可以构建自己的存档(.ez
文件)。
将该文件复制到没有在线连接的环境中并在本地安装。
我在elixir:latest
的Docker实例上进行了测试,使用Elixir版本1.12.2,hex版本0.21.2和OTP 24.0.5。
复制步骤:
# On a machine with an internet connection
cd /tmp/
git clone https://github.com/hexpm/hex/archive/refs/tags/v0.21.2.tar.gz --output hex.tar.gz
tar -xzf hex.tar.gz
cd hex-0.21.2/
./release.sh 0.21.2
这应该创建一堆文件,但我想我们只对最新的一个(即hex-0.21.2-elixir-1.11.0.ez
)感兴趣。文件名意味着这是Hex版本0.21.2的存档,它是用Elixir版本1.11.0构建的。我用较新的Elixir版本进行了测试,没有出现问题。在脱机机器上安装该存档文件后,使用以下命令安装它。
mix archive.install /tmp/hex-0.21.2.ez
mix hex.info
最后一个命令应该显示如下所示:
Hex: 0.21.2
Elixir: 1.12.2
OTP: 24.0.5
Built with: Elixir 1.9.4 and OTP 20.3
我认为这就是你应该做的。
[1] https://github.com/hexpm/hex