[英]Elixir - Installing Hex packages from source
我在代理后面工作,需要為Mix
項目安裝hex
和一些模塊。
Eshell V7.2
Interactive Elixir (1.2.2)
我能夠使用mix archive.install F:/hex-0.9.0.ez
下載hex-0.9.0.ez
來安裝Hex
。
$ mix hex
Hex v0.9.0
我正在嘗試對https://github.com/kafkaex/kafka_ex/做同樣的事情。 我下載了.zip
並運行:
$ mix archive.build -i C:/kafka_ex-0.5.0 -o C:/kafka_ex-0.5.0.ez
Generated archive "C:/kafka_ex-0.5.0.ez" with MIX_ENV=dev
然后我跑了:
$ mix archive.install C:/kafka_ex-0.5.0.ez
Are you sure you want to install archive "C:/kafka_ex-0.5.0.ez"? [Yn] Y
* creating .mix/archives/kafka_ex-0.5.0.ez
** (MatchError) no match of right hand side value: {:error, :bad_directory}
(mix) lib/mix/tasks/archive.install.ex:58: Mix.Tasks.Archive.Install.install_archive/2
(mix) lib/mix/tasks/archive.install.ex:40: Mix.Tasks.Archive.Install.run/1
(mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
(elixir) lib/code.ex:363: Code.require_file/2
我不確定上述錯誤是什么,但該包出現在存檔中:
$ ls c/Users/me/.mix/archives
hex-0.9.0.ez kafka_ex-0.5.0.ez
我不知道如何滿足我的項目中的依賴項。
$ mix deps.get
$ mix deps
* kafka_ex (c:/Users/me/.mix/archives/kafka_ex-0.5.0.ez)
the dependency is not available
$ iex -S mix
Eshell V7.2 (abort with ^G)
Unchecked dependencies for environment dev:
* kafka_ex (c:/Users/me/.mix/archives/kafka_ex-0.5.0.ez)
the dependency is not available
** (Mix) Can't continue due to errors on dependencies
有什么建議? 也許我在從源代碼構建/安裝時做錯了什么,或者我的mix.exs
文件是錯誤的。
mix.exs
:
defmodule Voting.Mixfile do
use Mix.Project
def project do
[app: :voting,
version: "0.0.1",
elixir: "~> 1.2",
build_embedded: Mix.env == :dev,
start_permanent: Mix.env == :dev,
deps: deps]
end
def application do
[applications: [:logger, :kafka_ex],
mod: {Voting, []}]
end
defp deps do
[{:kafka_ex, path: "c:/Users/me/.mix/archives/kafka_ex-0.5.0.ez"}]
end
end
如果我不得不猜測,我會說這是您應該注意的錯誤消息:
** (MatchError) no match of right hand side value: {:error, :bad_directory}
我會說它似乎表明它無法在 c/Users/me/.mix/archives 下創建那個 kafka 目錄。 嘗試手動創建目錄,創建后重試mix archive.install C:/kafka_ex-0.5.0.ez
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.