问题标签 [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.

0 投票
1 回答
81 浏览

elixir - 为什么混合不使用太多 OTP?

我正在尝试通过查看使用 OTP 的项目的良好示例来学习 OTP。我研究了mix的代码。但看起来 mix 并没有使用太多的 OTP。

对我来说,mixOTP 有很多可能的用例。例如,同时编译多个文件,同时下载 deps 等。

我想知道为什么 mix 不使用 OTP?还是 CLI 应用程序的 OTP 过度杀伤力?它只对长时间运行的应用程序有意义吗?

我还注意到 mix 不会同时运行。这也有原因吗?

0 投票
4 回答
2851 浏览

elixir - 如何在自定义混合任务中从 Ecto 获取数据

我想在自定义混合任务中通过 Ecto 显示我的数据库中的数据。如何在我的任务中获取 Ecto 存储库(或启动它)?

我尝试了这样的事情,但没有奏效:

当我启动 mix users.list 时,这将为我提供以下输出:

任何想法或其他方法来解决这个问题?

0 投票
2 回答
530 浏览

elixir - 离线构建十六进制注册表文件

调整 Elixir 及其生态系统中的所有工具以使用不同的构建系统。

在这个系统中,包和它们的依赖是分开管理的,Hex 是在离线模式下工作的。(抓住压缩包)

它有一个警告:每次我导入一个新包时,我还需要从 hexpm 导入最新的注册表文件,并且我不能使用不是通过 hex 发布的包,除非它们位于 deps 链的顶层。

给定一堆 tarball(并假设它们之间的依赖关系得到满足,那么如何构建一个与它们一起使用的十六进制注册表文件。

到目前为止我所拥有的:

  • 查看注册表文件格式,发现它是一个 ets 文件。可以装载和检查它;现在我需要生成
  • 查看了网站如何构建注册表文件,但这对于我的需求来说非常复杂
  • 我有点难以理解为什么需要一个注册表文件(如果有,为什么每个包不能在元数据中包含所需的信息,从而使中央注册表的需要过时了)

无论如何,如果有人玩过 Hex 并且可以提供一些关于如何做到这一点的指导,我将不胜感激。

0 投票
1 回答
1574 浏览

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 中使用监督树启动单独应用程序的正确方法是什么?

0 投票
1 回答
144 浏览

elixir - IEx.configure 等效于混合测试?

在调试测试时,很容易在其中放置一些IO.inspect语句以查看发生了什么。这很好用,直到对象变得太大。

运行时's的mix等价物是什么?iexIEx.configure [inspect: [limit: 1000]]mix test

0 投票
1 回答
1011 浏览

elixir - 处理混合配置值

我目前正在努力处理混合配置值(特别是在运行测试时)。这是我的场景:

  • 我有一个客户端库,带有一些常见的配置值(密钥、秘密、区域)。
  • 我想测试没有区域值设置时会发生什么
  • 我没有test.exs文件/config

我目前正在这样做(这不起作用)。正在测试的模块(简化):

测试:

运行时发生的情况mix test是,从这些值设置属性的主模块抛出以下错误,因为它找不到有效值:

我还在开始,所以这看起来很明显,但是在阅读文档后我找不到解决方案。

0 投票
1 回答
367 浏览

elixir - 如何正确重新安装 Elixir?

我使用brew remove elixir --forcebrew install elixirelixir -v节目

然后我用mix local.hex. mix hex.info节目

最后,我开始了一个新的凤凰项目。但是 mix.exs 显示

为什么,mix.exs 文件显示 Elixir 的错误版本,我该如何解决?

0 投票
1 回答
546 浏览

elixir - 为什么 phoenix_ecto 无法在变更集中的 :model 上编译?

当我尝试运行mix deps.getmix deps.compile出现此错误时:

为什么会发生这种情况,我该如何解决?

0 投票
2 回答
1135 浏览

postgresql - Unable to mix ecto.create. Multiple errors

When trying to run mix ecto.create I got the following errors:

  1. .Repo couldn't be created: tcp connect: connection refused - :econnrefused
  2. .Repo couldn't be created: FATAL (invalid_authorization_specification): role "postgres" does not exist
  3. .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?

0 投票
0 回答
630 浏览

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 服务器以并行方式运行的测试有关。