热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在非NixOS系统上使用nix在Erlang>19上安装Elixir的规范方法是什么?

如何解决《在非NixOS系统上使用nix在Erlang>19上安装Elixir的规范方法是什么?》经验,为你挑选了1个好方法。

从将Nix软件包管理器安装在非NixOS机器上之后,请向十岁的孩子解释一下。例如,我在Mac上,甚至没有~/.config目录。

我找到了以下(可能是)相关资源,但我无法将它们拼在一起:

Nixpkgs手册,9.1。BEAM语言(Erlang,Elixir和LFE)

在NixOS 18.03上使用带有Erlang 20.0的Elixir 1.5.1吗?

我在哪里beam.packages.erlang.elixir确切指定?

Nixpkgs手册,6.4。通过packageOverrides修改软件包

Nix药丸,第14章。替代设计模式

为此吗?


最后,我安装了带有Erlang 21的最新Elixir,如下所示,但是我确定这不是应该做的。

$ # Cloned the `nixpkgs` repo from github and started the repl
$ # in the same the directory.
$
$ nix repl
Welcome to Nix version 2.0.4. Type :? for help.

nix-repl> :l nixpkgs
Added 9182 variables.

nix-repl> pkgs.beam.packages.erlangR21.elixir
«derivation /nix/store/vcadn6d6wgk1yjlci458vy8jqv66wwdy-elixir-1.6.5.drv»

nix-repl> :q

$ nix-store --realise /nix/store/vcadn6d6wgk1yjlci458vy8jqv66wwdy-elixir-1.6.5.drv

usoban.. 5

您可以创建用于项目的专用外壳,并避免全局安装/为当前用户安装运行时。

Erlang / OTP 20上Elixir的最小nix外壳示例:

default.nix文件内容:

with import  {};

stdenv.mkDerivation rec {
    name = "env";
    env = buildEnv { name = name; paths = buildInputs; };
    buildInputs = [
        beam.packages.erlangR20.elixir
        inotify-tools
    ];
}

然后在终端中,导航到default.nix保存目录,然后调用nix-shell。您应该放入具有iexmix可用的外壳中。



1> usoban..:

您可以创建用于项目的专用外壳,并避免全局安装/为当前用户安装运行时。

Erlang / OTP 20上Elixir的最小nix外壳示例:

default.nix文件内容:

with import  {};

stdenv.mkDerivation rec {
    name = "env";
    env = buildEnv { name = name; paths = buildInputs; };
    buildInputs = [
        beam.packages.erlangR20.elixir
        inotify-tools
    ];
}

然后在终端中,导航到default.nix保存目录,然后调用nix-shell。您应该放入具有iexmix可用的外壳中。


推荐阅读
author-avatar
大大文人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有