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

栏目: 编程语言 · 发布时间: 5年前

内容简介:Elixir 1.9.0 发布了。Elixir 是一种函数式编程语言,建立在 Erlang 虚拟机之上。它是一种动态语言,具有灵活的语法与宏支持,利用 Erlang 的能力来构建并发、分布式与容错应用,并可以进行热代码升级。此版本最主要的新特性是 release 功能,release 是一个独立的目录,由应用代码、所有依赖项以及整个 Erlang 虚拟机(VM)和运行时组成。release 组建后,如果另一台目标机器的操作系统与版本都相同,并且运行了 mix release 命令,那么可以直接把 relea

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码大全(第2版)

代码大全(第2版)

[美] 史蒂夫·迈克康奈尔 / 金戈、汤凌、陈硕、张菲 译、裘宗燕 审校 / 电子工业出版社 / 2006-3 / 128.00元

第2版的《代码大全》是著名IT畅销书作者史蒂夫·迈克康奈尔11年前的经典著作的全新演绎:第2版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。这本书中所论述的技术不仅填补了初......一起来看看 《代码大全(第2版)》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具