作者:大大文人 | 来源:互联网 | 2022-12-10 14:38
从将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
。您应该放入具有iex
和mix
可用的外壳中。
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
。您应该放入具有iex
和mix
可用的外壳中。