皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Elixir 1.9.0 发布,新增“release”特性

Elixir 1.9.0 发布了。Elixir 是一种函数式编程语言,建立在 Erlang 虚拟机之上。它是一种动态语言,具有灵活的语法与宏支持,利用 Erlang 的能力来构建并发、分布式与容错应用,并可以进行热代码升级。

此版本最主要的新特性是 release 功能,release 是一个独立的目录,由应用代码、所有依赖项以及整个 Erlang 虚拟机(VM)和运行时组成。release 组建后,如果另一台目标机器的操作系统与版本都相同,并且运行了 mix release 命令,那么可以直接把 release 打包并部署到目标上。

可以通过三个简单的步骤开始一个新项目并组建一个 release:

$ mix new my_app
$ cd my_app
$ MIX_ENV=prod mix release

release 将在 _build/prod/rel/my_app 中组建,在 release 中,将有一个 bin/my_app 文件,它是系统的入口点,支持多个命令,例如:

  • bin/my_app startbin/my_app start_iexbin/my_app restart与 bin/my_app stop ,用于 release 的一般管理。
  • bin/my_app rpc COMMAND 与 bin/my_app remote 用于在正在运行的系统上运行命令或连接到正在运行的系统
  • bin/my_app eval COMMAND ,启动一个运行单个命令的新系统然后关闭
  • bin/my_app daemon 与 bin/my_app daemon_iex ,在类 Unix 系统上将系统作为守护进程启动
  • bin/my_app install ,在 Windows 计算机上将系统安装为服务

release 功能允许开发人员将所有代码和运行时预编译并打包到一个单元中,这样的好处包括:

  • 代码预加载
  • 可配置和自定义:开发者可以对系统配置和用于启动系统的 VM 标志进行细粒度控制。
  • 自包含:release 甚至不需要服务器中的 Erlang 或 Elixir,因为它们默认包含 Erlang VM 及其运行时。此外,Erlang 和 Elixir 标准库都被剥离,只带来实际使用的部分。
  • 可为不同应用设置不同 release

此外,此版本还带来了其它许多功能增强,详情查看更新说明:

https://github.com/elixir-lang/elixir/releases/tag/v1.9.0

转自 https://www.oschina.net/news/107709/elixir-1-9-0-released