标签: elixir-mix

当您的项目作为mix dep包含时,防止包含混合任务

我正在编写的Elixir库有两个自定义混合任务,一个用于使我的库成为项目依赖项的用户使用,一个用于仅在我的项目中使用.

这里的问题是,在将我的项目添加为dep之后,两个混合任务都可供其项目中的用户使用.

我该如何防止这种情况?我试图package: [ files: [ etc ] ]在我的Mix配置中避免任务,但它仍然在我的测试项目中可用,它通过git将我的库指定为dep.

elixir-mix elixir hex-pm

6
推荐指数
1
解决办法
77
查看次数

是否可以将多个音频文件混合在一起,最好是用javascript

我想组合音频片段,彼此叠加,以便它们同步播放并保存在新的音频文件中.任何帮助将非常感激.我已经在线进行了一些挖掘工作,但是无法找到关于Javascript音频编辑库(例如)的许多工具是否可用的确切答案.

javascript audio elixir-mix

6
推荐指数
1
解决办法
2173
查看次数

为什么MIX依赖项在依赖的语义版本之前有"〜>"?

mix.exs你可以声明依赖性,如:

def deps do
  [{:plug, "~> 1.0"}]
end
Run Code Online (Sandbox Code Playgroud)

为什么它需要"〜>"而不是简单地在元组的第二部分上的版本.

我已经看到,如果它从git获得依赖,你可以编写依赖,如:

def deps do
  [{:plug, git: "git://github.com/elixir-lang/plug.git"}]
end
Run Code Online (Sandbox Code Playgroud)

elixir-mix elixir

6
推荐指数
1
解决办法
1077
查看次数

在混合文件依赖项中,“ runtime:false”是什么意思?

mix deps文档中:

:runtime-依赖项是否是运行时应用程序的一部分。如果您的mix.exs文件中:applications没有提供密钥def application,则Mix会自动将所有依赖项作为运行时应用程序包括在内,除非runtime: false给出了。默认为true。

根据mix compile.app文档:

:applications-您的应用程序在运行时依赖的所有应用程序。默认情况下,此列表是根据您的依赖项自动推断出来的。Mix和其他工具使用应用程序列表来启动依赖关系,然后再启动应用程序本身。

这是否意味着添加runtime: false依赖项将使其不能作为应用程序监视树的一部分启动,但其功能将在编译时可用?

elixir-mix elixir erlang-otp

6
推荐指数
1
解决办法
376
查看次数

在Elixir中使用本地存储库?

在Phoenix Framework项目中包含外部存储库时,可以传递Github选项:

 {:example, "~> 0.9.9", github: "somewhere/example"}
Run Code Online (Sandbox Code Playgroud)

是否有包含本地存储库的选项,类似于Gemfile中的Rails约定?

 gem 'somewhere', '0.0.2', :path => 'some/local/directory'
Run Code Online (Sandbox Code Playgroud)

elixir-mix elixir phoenix-framework

5
推荐指数
1
解决办法
352
查看次数

在生产中运行混合任务

我有许多任务和工作,希望能够在生产灵丹妙药应用程序上手动执行。目前,我通过在中运行代码来执行它们remote_console。我试图通过使用来运行它们/bin/my_app command MyModule my_func,但是我收到关于另一个Erlang节点正在使用的资源的错误。

我更喜欢使用/bin/my_app command MyModule my_func样式,以便可以使用ssh运行bash脚本。

在Elixir应用程序上运行远程任务的推荐方法是什么?

elixir-mix elixir production-environment

5
推荐指数
1
解决办法
822
查看次数

如何使用`mix test`列出所有测试

是否有我可以结合使用的命令行调用,mix它会在不运行测试的情况下输出所有测试名称?

elixir-mix elixir ex-unit

5
推荐指数
1
解决办法
655
查看次数

为什么我会收到这个错误 `(Mix) 找不到依赖的 SCM :cowboy `

我有一个elixir项目,下面是混合配置文件:

defmodule MyFirstApp.Mixfile do
  use Mix.Project

  def project do
    [
      app: :my_first_app,
      version: "0.1.0",
      elixir: "~> 1.5",
      start_permanent: Mix.env == :prod,
      deps: deps()
    ]
  end

  # Run "mix help compile.app" to learn about applications.
  def application do
    [
      extra_applications: [:logger],
      mod: {MyFirstApp, []}
    ]
  end

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      # {:dep_from_hexpm, "~> 0.3.0"},
      # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"},
      {:cowboy, "~> 1.1.2"},
      {:plug, "~> 1.3.4"},
      {:slime, "~> 0.14"}
    ] …
Run Code Online (Sandbox Code Playgroud)

elixir-mix elixir

5
推荐指数
1
解决办法
1952
查看次数

无法访问主 elixir 项目中的依赖项配置

我有一个项目world_app,我已将其作为依赖包含在hello_app 中(如果相关,我已将其作为本地依赖项包含在内)

defp deps do
  [
    {:world_app, path: "../world_app"}
  ]
end
Run Code Online (Sandbox Code Playgroud)

world_app有config.exs有此配置

config :world_app, some_config: "config_string"
Run Code Online (Sandbox Code Playgroud)

当我尝试在hello_app 中获取在world_app中定义的配置变量时出现了我的问题(我在hello_app 中运行了 iex -S mix)

iex(1)> Application.get_all_env(:world_app)
[included_applications: []]

iex(2)> Application.get_env(:world_app, :some_config)
nil
Run Code Online (Sandbox Code Playgroud)

但是,当我在world_app 中做同样的事情时,我可以看到变量

iex(1)> Application.get_all_env(:world_app)
[some_config: "config_string", included_applications: []]

iex(2)> Application.get_env(:world_app, :some_config)
"config_string"
Run Code Online (Sandbox Code Playgroud)

我一直以为我可以从父应用程序访问依赖项的配置;我在这里错过了一些重要的东西吗?

我正在使用 Elixir 1.5.3 和 erlang 20

elixir-mix elixir

5
推荐指数
1
解决办法
470
查看次数

如何从测试覆盖率分析中排除特定文件?

我的 Elixir 应用程序中有一些文件,我想从测试覆盖率报告中排除它们。我现在没有使用任何花哨的覆盖工具;(尽管我并不排除使用此类工具的可能性)我mix test --cover现在只是在使用。

如何告诉覆盖率分析工具给定的文件不应包含在覆盖率分析中?

elixir-mix elixir

5
推荐指数
1
解决办法
2506
查看次数