问题标签 [elixir-mix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elixir - 为什么混合不使用太多 OTP?
我正在尝试通过查看使用 OTP 的项目的良好示例来学习 OTP。我研究了mix的代码。但看起来 mix 并没有使用太多的 OTP。
对我来说,mix
OTP 有很多可能的用例。例如,同时编译多个文件,同时下载 deps 等。
我想知道为什么 mix 不使用 OTP?还是 CLI 应用程序的 OTP 过度杀伤力?它只对长时间运行的应用程序有意义吗?
我还注意到 mix 不会同时运行。这也有原因吗?
elixir - 如何在自定义混合任务中从 Ecto 获取数据
我想在自定义混合任务中通过 Ecto 显示我的数据库中的数据。如何在我的任务中获取 Ecto 存储库(或启动它)?
我尝试了这样的事情,但没有奏效:
当我启动 mix users.list 时,这将为我提供以下输出:
任何想法或其他方法来解决这个问题?
elixir - 离线构建十六进制注册表文件
调整 Elixir 及其生态系统中的所有工具以使用不同的构建系统。
在这个系统中,包和它们的依赖是分开管理的,Hex 是在离线模式下工作的。(抓住压缩包)
它有一个警告:每次我导入一个新包时,我还需要从 hexpm 导入最新的注册表文件,并且我不能使用不是通过 hex 发布的包,除非它们位于 deps 链的顶层。
给定一堆 tarball(并假设它们之间的依赖关系得到满足,那么如何构建一个与它们一起使用的十六进制注册表文件。
到目前为止我所拥有的:
- 查看注册表文件格式,发现它是一个 ets 文件。可以装载和检查它;现在我需要生成
- 查看了网站如何构建注册表文件,但这对于我的需求来说非常复杂
- 我有点难以理解为什么需要一个注册表文件(如果有,为什么每个包不能在元数据中包含所需的信息,从而使中央注册表的需要过时了)
无论如何,如果有人玩过 Hex 并且可以提供一些关于如何做到这一点的指导,我将不胜感激。
elixir - 如何从 mix.exs 启动多个应用程序?
我有一个 Elixir 应用程序,其中 lib/ 文件夹中有两个应用程序:
myproject/lib/app1
myproject/lib/app2
他们都有使用应用程序的文件:
myproject/lib/app1.exs
myproject/lib/app2.exs
他们每个人都实现start
并产生一个监督树。
在myproject/mix.exs
我尝试过:
但我得到的只是与{app2, []}
.
这样的事情甚至可能吗?如果不是,那么在 Elixir 中使用监督树启动单独应用程序的正确方法是什么?
elixir - IEx.configure 等效于混合测试?
在调试测试时,很容易在其中放置一些IO.inspect
语句以查看发生了什么。这很好用,直到对象变得太大。
运行时's的mix
等价物是什么?iex
IEx.configure [inspect: [limit: 1000]]
mix test
elixir - 处理混合配置值
我目前正在努力处理混合配置值(特别是在运行测试时)。这是我的场景:
- 我有一个客户端库,带有一些常见的配置值(密钥、秘密、区域)。
- 我想测试没有区域值设置时会发生什么
- 我没有
test.exs
文件/config
我目前正在这样做(这不起作用)。正在测试的模块(简化):
测试:
运行时发生的情况mix test
是,从这些值设置属性的主模块抛出以下错误,因为它找不到有效值:
我还在开始,所以这看起来很明显,但是在阅读文档后我找不到解决方案。
elixir - 如何正确重新安装 Elixir?
我使用brew remove elixir --force
和brew install elixir
。
elixir -v
节目
然后我用mix local.hex
. mix hex.info
节目
最后,我开始了一个新的凤凰项目。但是 mix.exs 显示
为什么,mix.exs 文件显示 Elixir 的错误版本,我该如何解决?
elixir - 为什么 phoenix_ecto 无法在变更集中的 :model 上编译?
当我尝试运行mix deps.get
或mix deps.compile
出现此错误时:
为什么会发生这种情况,我该如何解决?
postgresql - Unable to mix ecto.create. Multiple errors
When trying to run mix ecto.create
I got the following errors:
.Repo couldn't be created: tcp connect: connection refused - :econnrefused
.Repo couldn't be created: FATAL (invalid_authorization_specification): role "postgres" does not exist
.Repo couldn't be created: FATAL (invalid_authorization_specification): role "postgres" is not permitted to log in
What are the conditions that Postgres must meet in order to properly setup Phoenix?
elixir - 使用 MySQL 服务器运行测试时出现 DB OwnershipError
使用 mix test 运行一组测试时,我得到
我已经在 test/test_helper.exs 中替换Ecto.Adapters.SQL.Sandbox.mode(Secure.Repo, :manual)
了。Ecto.Adapters.SQL.Sandbox.mode(Secure.Repo, {:shared, self()})
失败的测试属于同一个测试文件,我没有使用ExUnit.Case, async: true
.
如果我单独运行它们,它们运行正常。仍然不能完全确定它是否与使用 MySQL 服务器以并行方式运行的测试有关。