14

我可以使用 mix 在全球范围内安装一些软件包吗?我想要一个像npm's global option 或gem's install 这样的行为——它可能对我在任何地方都使用的包很有用,比如csvor yaml

4

3 回答 3

16

Elixir 中没有这样的东西,你总是在项目的上下文中使用依赖项。档案或 escripts 等解决方案旨在解决特定问题,它们不允许项目之间的包共享。

但是,无需担心共享常用包。Hex,包管理器,已经缓存了这些,它会为你处理它。

于 2015-11-06T13:59:33.810 回答
11

某些软件包将提供一个可以全局安装的存档文件。

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这允许全局访问任务。但是,没有任何特定的允许安装所有混音项目中可用的库。

于 2015-11-05T15:30:22.510 回答
1

对于 Elixir 脚本,您可以使用erun. 通过编译erun您的依赖项,您可以运行

$ erun foo.exs

erun只是一个脚本。)

https://github.com/s417-lama/erun

于 2019-06-04T13:40:54.560 回答