每次我安装Erlang,我都会失去观察者。在运行在云中的Xmonad和Debian 9的Ubuntu膝上型计算机上使用了下面的命令,它们似乎都导致安装了相同的包:
nix-env -iA pkgs.beam.packages.erlangR22nix-env -iA nixpkgs.beam.interpreters.erlangnix-env -iA nixpkgs.beam.interpreters.erlangR22_odbc_javacNixpkgs手册15.2。梁语言(Erlang,Elixir & LFE)剖面 (19.09.1484.84586a4514d版)根本没有提到观察者。虽然我尝试了所有这些软件包,但DianaOlympos最近的一次更新确实提到了这一点,但没有joy:
许多在
beam.interpreters中可用的Erlang/OTP发行版都有启用或没有wx (没有观察者支持)的版本。例如,有beam.interpreters.erlangR22_odbc_javac,它对应于beam.interpreters.erlangR22和beam.interpreters.erlangR22_nox,后者对应于beam.interpreters.erlangR22。
包需要设置使用propagatedBuildInputs,但不确定如何做到这一点。(只需安装wxGTK,那么Erlang当然就不起作用了;只是天真地尝试了一下。还发现Nix丸第20章正是关于这个主题的。)
这也是对"如何在非NixOS系统上安装Erlang/Elixir?“问题的跟进,但我当时并没有意识到观察者已经失踪了.
更新:显然,它能在盒子外的某个地方工作。(可能在NixOS上。)
发布于 2019-12-09 16:24:51
我为erlang提供了一个覆盖,因此启用了wx支持:
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let
inherit (lib) optionals;
erlang_wx = erlangR21.override {
wxSupport = true;
};
elixir = (beam.packagesWith erlang_wx).elixir.override {
version = "1.9.2";
rev = "ffe7a577cc80f37381dc289c820842d346002364";
sha256 = "19yn6nx6r627f5zbyc7ckgr96d6b45sgwx95n2gp2imqwqvpj8wc";
};
in
mkShell {
buildInputs = [ elixir git ]
# For file_system on Linux.
++ optionals stdenv.isLinux [ inotify-tools wxGTK ]
# For file_system on macOS.
++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
# For file_system on macOS.
CoreFoundation
CoreServices
wxmac
]);
}将其保存(例如,作为shell.nix ),然后运行它:
$ nix-shell shell.nix
# or, if you are in the same directory:
$ nix-shell在我的机器上工作!
注意:wxmac在buildInputs中是特定于MacOS ( wxGTK到Linux)的。要为您的操作系统找到合适的包,套餐。
https://stackoverflow.com/questions/59203504
复制相似问题