[英]In NixOS, how to run a Haskell executable from the command line?
我正在嘗試從命令行運行Haskell可執行文件,遵循此博客的示例。 我的機器運行NixOS。
該博客是關於將markdown literate 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可執行文件。 如何hscolour
提供諸如hscolour
haskell可執行文件?
我已經嘗試在構建hscolour
的nix-shell
中運行此命令。 仍未找到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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.