在 NixOS 中,如何从命令行 运行 一个 Haskell 可执行文件?
In NixOS, how to run a Haskell executable from the command line?
我正在尝试从命令行 运行 Haskell 可执行文件,以 this blog 为例。我的机器 运行s NixOS。
该博客是关于将 markdown 识字 haskell 编译成 html 以用于发布博文。该过程中的一个步骤是 运行 .lhs 文件上的 haskell 程序 hscolour
以创建一个 .mkd 文件,其代码语法通过 html 和 css.
cat blah.lhs | hscolour -lit -css > blah.mkd
然而,当我尝试 运行 此命令时,出现以下 command not found
错误。
$ cat blah.lhs | hscolour -lit -css > blah.mkd
hscolour: command not found
我不确定我遇到的这个问题是特定于 NixOS,还是让 haskell 可执行文件更广泛地用于命令行。 如何使 haskell 可执行文件(例如 hscolour
从命令行可用?
我已经在构建了 hscolour
的 nix-shell
中尝试了 运行ning 这个命令。 hscolour
命令仍未找到。
$ nix-shell -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [hscolour])"
$ cat functor-proofs.lhs | hscolour -li
hscolour: command not found
需要知道的两件事:
你不需要 GHC,你只需要来自 hscolour 的可执行文件,你可以通过 haskell.lib.justStaticExecutables haskellPackages.hscolour
.
获得它
hscolour 的二进制文件称为 HsColour
,而不是 hscolour
。
演示:
$ nix-shell -p 'haskell.lib.justStaticExecutables haskellPackages.hscolour' --run 'HsColour --version'
HsColour 1.24
我将通过寻找 .
来分享我很快发现的另一种方法
$ `nix-build --no-out-link "<nixpkgs>" -A haskellPackages.hscolour`/bin/HsColour --version
HsColour 1.24
我正在尝试从命令行 运行 Haskell 可执行文件,以 this blog 为例。我的机器 运行s NixOS。
该博客是关于将 markdown 识字 haskell 编译成 html 以用于发布博文。该过程中的一个步骤是 运行 .lhs 文件上的 haskell 程序 hscolour
以创建一个 .mkd 文件,其代码语法通过 html 和 css.
cat blah.lhs | hscolour -lit -css > blah.mkd
然而,当我尝试 运行 此命令时,出现以下 command not found
错误。
$ cat blah.lhs | hscolour -lit -css > blah.mkd
hscolour: command not found
我不确定我遇到的这个问题是特定于 NixOS,还是让 haskell 可执行文件更广泛地用于命令行。 如何使 haskell 可执行文件(例如 hscolour
从命令行可用?
我已经在构建了 hscolour
的 nix-shell
中尝试了 运行ning 这个命令。 hscolour
命令仍未找到。
$ nix-shell -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [hscolour])"
$ cat functor-proofs.lhs | hscolour -li
hscolour: command not found
需要知道的两件事:
你不需要 GHC,你只需要来自 hscolour 的可执行文件,你可以通过
haskell.lib.justStaticExecutables haskellPackages.hscolour
. 获得它
hscolour 的二进制文件称为
HsColour
,而不是hscolour
。
演示:
$ nix-shell -p 'haskell.lib.justStaticExecutables haskellPackages.hscolour' --run 'HsColour --version'
HsColour 1.24
我将通过寻找
$ `nix-build --no-out-link "<nixpkgs>" -A haskellPackages.hscolour`/bin/HsColour --version
HsColour 1.24