【发布时间】:2016-02-06 11:53:31
【问题描述】:
我可以使用 mix 来全局安装一些包吗?我想要npm 的全局选项或gem 的安装之类的行为 - 它可能对我在任何地方使用的软件包很有用,例如csv 或yaml。
【问题讨论】:
标签: elixir elixir-mix
我可以使用 mix 来全局安装一些包吗?我想要npm 的全局选项或gem 的安装之类的行为 - 它可能对我在任何地方使用的软件包很有用,例如csv 或yaml。
【问题讨论】:
标签: elixir elixir-mix
Elixir 中没有这样的东西,你总是在项目的上下文中使用依赖项。存档或 escripts 等解决方案旨在解决特定问题,它们不允许项目之间共享包。
但是,无需担心共享常用包。 Hex,包管理器,已经缓存了这些,它会为你处理它。
【讨论】:
某些软件包将提供一个存档文件,您可以全局安装。
http://elixir-lang.org/docs/v1.1/mix/Mix.Tasks.Archive.Install.html
例如凤凰:
mix archive.install https://github.com/phoenixframework/phoenix/releases/download/v1.0.3/phoenix_new-1.0.3.ez
这允许全局访问mix phoenix.new 任务。但是,没有任何特定的允许安装所有混音项目中可用的库。
【讨论】:
mix archive.install hex phx_new 安装最新版本。要列出您可以使用的所有“全球”档案及其版本:mix archive。
对于 Elixir 脚本,您可以使用 erun 虚拟安装全局包。
通过使用您的依赖项编译erun,您可以运行
$ erun foo.exs
(erun 只是一个脚本。)
【讨论】: