【发布时间】:2020-08-17 11:36:58
【问题描述】:
我正在尝试使用 Hex 打包的 CSV。
我像这样将依赖项添加到 mix.exs:
def application do
[applications: [:logger, :csv]]
end
defp deps do
[
{:csv, "~> 1.4.2"}
]
然后,我在终端运行mix deps.get & mix deps.compile。
依赖文件夹显示在 deps 文件夹中。
在我尝试使用依赖项之前,一切似乎都很好。我收到此错误:
“模块 CSV 未加载,找不到”
我尝试了一个简单的使用而不像这样导入:
File.stream!("data.csv") |> CSV.decode
我试过这样导入:
import(CSV)
File.stream!("data.csv") |> CSV.decode
我已经尝试为 deps 目录添加前缀:
import(deps.CSV)
File.stream!("data.csv") |> CSV.decode
以及deps子目录的完整路径:
import(deps.csv.lib.csv.CSV)
File.stream!("data.csv") |> CSV.decode
不管它怎么好像都找不到依赖模块。
我错过了什么?
【问题讨论】:
-
[project_name]/lib/[project_name]/scratch_pads/scratch_pad_2.ex
-
那么可能是 Atom 插件中的一个错误。您正在使用哪一个让您执行文件?同时,您可以使用
mix run lib/[project_name]/scratch_pads/scratch_pad_2.ex从 shell 运行代码。 -
您不需要导入 CSV 模块,除非您想使用它的功能而不必完全限定它们。测试可用内容的最简单方法是运行
iex -S mix,它将启动您的应用程序并打开一个iexshell,您可以在其中直接调用模块。