如何将 Elixir 库加载到 iex 中而不将其添加到项目的 mix.exs deps 中?

2024-03-28

我想尝试 Poison json 模块而不创建混合项目。

如何安装它并通过导入使其在 iex 中可用?

我已经能够将它添加到项目中,然后在进入项目目录并使用 iex -S mix 后使用它:

tbrowne@LILJEN:~/code/elixirTry/pj$ cat mix.exs
defmodule Pj.Mixfile do
  use Mix.Project

  def project do
    [app: :pj,
     version: "0.0.1",
     elixir: "~> 1.2",
     build_embedded: Mix.env == :prod,
     start_permanent: Mix.env == :prod,
     deps: deps]
  end

  # Configuration for the OTP application
  #
  # Type "mix help compile.app" for more information
  def application do
    [applications: [:logger]]
  end

  # Dependencies can be Hex packages:
  #
  #   {:mydep, "~> 0.3.0"}
  #
  # Or git/path repositories:
  #
  #   {:mydep, git: "https://github.com/elixir-lang/mydep.git", tag: "0.1.0"}
  #
  # Type "mix help deps" for more examples and options
  defp deps do
    [{:poison, "~> 2.0"}]
  end
end
tbrowne@LILJEN:~/code/elixirTry/pj$ cat lib/pj.ex
defmodule Person do
  @derive [Poison.Encoder]
  defstruct [:name, :age]
end

defmodule Pj do
  xx = Poison.encode!(%Person{name: "Devin Torres", age: 27})
end

tbrowne@LILJEN:~/code/elixirTry/pj$ iex -S mix
Erlang/OTP 18 [erts-7.2] [source-e6dd627] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

Interactive Elixir (1.2.3) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> import Poison
nil
iex(2)>

但是,如果我只是进入通用目录中的普通 iex,那么我似乎无法访问 Poison 库:

iex(4)> import IO
nil
iex(5)> puts("hello")
hello
:ok
iex(6)> import Poison
** (CompileError) iex:6: module Poison is not loaded and could not be found

另外,如何从 github 全局安装库?


不是直接答案,而是另一种实现你想要的方法:

您可以拥有一个生成一次的游乐场项目(例如mix new playground),然后您可以相对轻松地添加新的依赖项。

如果你这样做iex -S mix在此项目中,您将获得其所有依赖项。

如果您想快速尝试,例如Poison在稍后的某个时间点,您可以返回到该项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Elixir 库加载到 iex 中而不将其添加到项目的 mix.exs deps 中? 的相关文章

  • 摆脱科学计数法

    我需要做一些计算 但我遇到的问题是值非常低 例如 我需要得到 0 005 的 2 7 最终得到 1 3500000000000003e 4 这不是我想要的 我只需要知道如何获得这些值的准确百分比 我现在正在做的是
  • 如何为 Elixir 结构验证/强制执行类型和值?

    如何为 Elixir Structs 验证 强制执行值的类型和范围 例如在结构创建期间 如果提交无效类型 值 则抛出错误 lat 应该是数字并且在 90 0 和 90 0 之间 lon 应该是数字并且在 180 0 和 180 0 之间 d
  • function '<-'/2 undefined 接收块中出现错误 Elixir

    这是我的 Elixir 代码 defmodule ErlProcess do def receiver do receive do sayHello msg gt sender lt ok ok end end end 但它给出了这个错误
  • 使用 hmac 在 Elixir 和 PHP 中生成签名

    我尝试使用 Elixir 生成签名 它的值与 PHP 相同 例如 PHP 中的代码是 signature base64 encode hash hmac sha256 abc def 输出将是 Mzk3ZjQ2NzM0MWU0ZDc4YzQ
  • 使用 ECTO 和 put_assoc/4 进行多对多

    我尝试将 2 个现有多对多记录与 ECTO 和 put assoc 4 关联 但在尝试更新时不会删除元素 基本上我有项目和用户 为了管理用户对项目的访问 我有表 user project def Project do schema proj
  • 如何让表单和交易在phoenix+ecto中发挥良好?

    我正在玩 Phoenix Ecto 我偶然发现了一些对我来说不习惯的东西 我有一个代表一个表格Invitation 创建邀请函时 我们还需要创建一个User显然我希望两者都发生在一个事务中 这样我就可以保持数据的一致性 在我的表格中我要求n
  • Phoenix CSRF 令牌不匹配

    试图让 ajax 工作在 Phoenix 上 我通过执行以下操作来获取 csrf 令牌 这样我就拥有了它
  • 从列表中获取随机元素

    我基本上是在寻找 Ruby 的 Elixir 等价物Array sample http ruby doc org core 2 2 0 Array html sample method 可以让我这样做的东西 list 1 2 3 4 5 6
  • Elixir/erlang 在哪里适合微服务方法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近 我一直在使用 docker compose 进行一些实验 以便部署多个协作微服务 我可以看到微服务提供的许多好处 而且现在有一个
  • 从映射中添加/删除键值对

    如何在 Elixir 映射中添加 和删除 键值对 这不起作用 map a 1 b 2 c 3 map d 4 添加到地图 Use Map put map key value https hexdocs pm elixir Map html
  • 无法从 powershell 运行 Elixir 应用程序

    当我打字时iex S mix在 PowerShell 中我收到此错误 Invoke Expression A positional parameter cannot be found that accepts argument mix At
  • 使用片段的 Ecto“left IN right”查询

    我想使用 postgres IN 运算符 使用 Ecto 库 查询 jsonb 字段 此代码使用简单的 运算符 from a in query where fragment gt gt format a properties foo 但我无
  • Ecto迁移中如何动态更新字段值?

    我有一个用户表 例如 email username email protected cdn cgi l email protection email protected cdn cgi l email protection email pr
  • 如何使用 Ecto 的时间戳向现有表添加时间戳?

    Since inserted at and updated at不可能是null这是行不通的 def change do alter table channels do timestamps end end Postgrex Error E
  • 如何调试eex模板和@变量?

    我有这个模板 div class alert alert danger p Oops something went wrong Please check the errors below p div 如何在 IEx 控制台中显示 chang
  • 当您在地图上进行操作时,Elixir 中是否会保留键和值的顺序?

    假设我在 Elixir 中有一张地图 m a gt 1 b gt 2 c gt 3 如果我打电话Map values m 我能保证返回值永远是 1 2 3 按这个顺序而不是说 3 1 2 这是我从文档中不清楚的一件事 经过一些初步测试 我认
  • Dialyzer 无法识别使用多态类型的函数中的错误

    背景 我正在尝试使用透析器进行多态打字 作为一个例子 我正在使用著名的Option类型 又名 Maybe Monad 现在在许多其他语言中都很流行 defmodule Test do type option t some t nothing
  • 如何在phoenix中使用session连接?

    我有一个身份验证插头 我想测试我的控制器 问题是这个插头里的线有 user id get session conn user id 当我使用这种方法时它总是为零 我以前使用过dirty hack 但我不再想这样做 session Plug
  • GenServer 正常关闭

    我使用 GenServer 编写了一个 Elixir 应用程序 该应用程序在启动时启动外部应用程序 然后将其关闭 并在退出时进行其他清理 我在中添加了启动功能init 1 https hexdocs pm elixir GenServer
  • 为什么 x = x +1 在 Elixir 中有效?

    我读到的有关 Elixir 的所有内容都表明 赋值应该被视为模式匹配 如果是这样 为什么 x x 1 在 Elixir 中有效 不存在 x x 1 的 x 值 我读到的有关 Elixir 的所有内容都表明 赋值应该被视为模式匹配 在长生不老

随机推荐

  • Code Golf:数字的质因数[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • CruiseControl.Net 仪表板 + Apache

    我正在尝试让 cc net 仪表板在也有 apache 的构建机器上运行 我尝试按照描述安装 mod aspdotnethere http weblogs asp net israelio archive 2005 09 11 424852
  • 辅助服务无法读取所有屏幕内容

    Issue 没有在 Android 馅饼中获取屏幕上的所有文本 检查直到牛轧糖代码工作正常 Device 小米 MiA1 Android One 版本 9 0 XML 设置
  • 禁用右键单击表单字段级别

    我需要通用功能 可以禁用右键单击表单字段 document oncontextmenu function e var el window event srcElement e target var tp el tagName if tp t
  • 在 test_package 中使用过滤器参数来跳过测试

    我想在期间运行我的包单元测试R CMD check 但跳过需要互联网连接的测试 按照惯例 所有需要互联网的单元测试都有这个词network在他们的文件名中 因此我的run all R包含 library testthat test pack
  • 未知自定义结构上的结构化绑定

    简洁版本 我希望能够将结构转换为元组 至少是类型 在下面的代码中 转换为元组函数不起作用 因为可变参数不能在结构化绑定中使用 据我所知 关键行是 自动 值 值 struct Vec3 float x float y float z temp
  • PySpark:添加一个新列,其中包含从列创建的元组

    这里我创建了一个数据框 如下所示 df spark createDataFrame a 5 R X b 7 G S c 8 G S Id V1 V2 V3 看起来像 Id V1 V2 V3 a 5 R X b 7 G S c 8 G S 我
  • 追加克隆或动态创建 DOM - 哪个更好?

    我希望从 ajax 调用返回的数组中生成以下列表 ul li li ul
  • Asciidoc 中文字内的替换

    似乎没有办法在 Asciidoc 的文字文本中解析变量 属性 替换 否则我会遗漏一些东西 我希望能够设置一个变量 然后在代码块或文字字符串中调用它 如下所示 version 1 0 1 code tar xzvf mysoftware ve
  • the_title 函数返回字符串而不是 WordPress 中的 echo

    在Wordpress中 如何更改the title 回显标题以返回字符串的函数 title反而 我正在尝试 the title gt title the title title 两种方式 Use get the title https de
  • 通过 Tweepy 去除推文中的换行符

    我正在寻找从 Twitter API 提取数据并创建一个管道分隔的文件 我可以对其进行进一步处理 我的代码目前如下所示 auth tweepy OAuthHandler CONSUMER KEY CONSUMER SECRET auth s
  • PHP mkdir 问题!

    我尝试创建一些像这样的目录 mkdir photos cat sku 0777 true 它使用 0777 权限创建第一个目录 但在创建第二个目录时使用 000 作为其权限 因此无法创建第三个目录 请问有解决方法吗 谢谢 理查德 这解决了这
  • 通过引用传递比较器函数 (C++11)

    我正在尝试加快我的代码速度 下面是最小的 可重现的示例 并且我被告知通过引用传递对于我的比较器函数来说是一种更有效的方法 那是我第一次听说这个短语 所以我查了一下 找到了一些带有示例的网站 但我不明白何时以及如何使用它 在这种情况下我将如何
  • 列出与rabbitmq java客户端API交换的绑定

    我似乎在文档中找不到任何信息 所以我想知道是否可以通过某种方式使用 java RabbitMQ API 获取与交换相关的所有绑定 我在查询 api bindings 时正在寻找类似 http api 结果的内容 api definition
  • Cocoa 应用程序已完成启动

    有什么方法可以判断 Cocoa 应用程序 例如 Safari 是否已完成启动并能够响应 我知道在实际代码中使用委托很容易 但这对于我正在做的事情来说是不可能的 Thanks 查看 NSWorkspace 和 NSWorkspaceDidLa
  • PHP中的DES/ECB/PKCS5Padding解密

    我需要用 PHP 或 Javascript 解密一些服务调用 我花了一整天的时间试图完成这个任务 但我无法正确解密它 作为参考 服务提供商给我发送了以下 Java 解密示例代码 DESKeySpec dks new DESKeySpec k
  • 使用 Spring Boot 时 java.lang.IllegalStateException LifecycleProcessor 和 ApplicationEventMulticaster 未初始化

    我创建了一个 Spring Boot 包装类 如下所示 package package for import org springframework boot SpringApplication import org springframe
  • 在 Mongoose 路由中使用 Promise

    我了解 JavaScript 中的 Promise 或者至少我认为我了解 如果我错了 请纠正我 创建一个承诺 var promise new Promise function resolve reject do something asyn
  • null 和空 ("") Java 字符串之间的区别

    有什么区别null和 空字符串 我写了一些简单的代码 String a String b null System out println a b false System out println a equals b false 两个语句都
  • 如何将 Elixir 库加载到 iex 中而不将其添加到项目的 mix.exs deps 中?

    我想尝试 Poison json 模块而不创建混合项目 如何安装它并通过导入使其在 iex 中可用 我已经能够将它添加到项目中 然后在进入项目目录并使用 iex S mix 后使用它 tbrowne LILJEN code elixirTr