我正在运行此命令
$ mix archive.install github ninenines/cowboy
* Getting new package (https://github.com/ninenines/cowboy.git)
remote: Counting objects: 9525, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 9525 (delta 0), reused 11 (delta 0), pack-reused 9511
...
** (Mix) Cannot create archive without input directory, please pass -i as an option
但是没有-i选项,mix不会让我这样做。我该如何解决这个问题?
答案 0 :(得分:0)
TL; DR 在mix
项目之外执行此任务是不可能的。
来自Mix.Tasks.Archive.Install
文档:
如果没有提供参数,但项目的根目录(使用mix archive.build创建)中有一个存档,则存档将在本地安装。例如:
mix do archive.build, archive.install
如果提供了参数,它应该是本地路径或预构建存档的URL,git存储库,github存储库或hex包。
mix archive.install
调用了archive.build
。您收到的错误由archive.build
引入,与install
receives -i
option不同。
反过来,它希望installation spec存在。
总结:有人可能提供dep_spec
,如上面链接的来源所示,但一般mix
只是不明白构建下载的包的位置。之后,它仍然存在疑问,在哪里安装它。因此,最简单的解决方案是使用mix new
创建空项目,然后在那里执行这些任务。