如何在我的苹果酒 REPL 中加载这个 Clojure 项目?为什么我会收到消息"The clojure executable isn’t on your ‘exec-path’" (NixOS)?



最近我开始学习Clojure。我一直在使用Emacs和苹果酒(REPL)。另外,我有NixOS作为操作系统。

我已经能够使用这个环境在Clojure中成功地编程。通常,我先创建文件,然后转到.clj所在的目录,执行cider-jack-in,创建一个REPL,然后交互编程奇迹就发生了。这样,我就可以加载文件,加载旧函数的新版本,等等。

如果我只是启动Emacs并执行' cider-jack-in,它也可以工作。迷你缓冲区请求:

您确定要在没有Clojure项目的情况下运行' apple -jack-in'吗?(y or n)

回答y后,一切正常

在阅读Clojure for the Brave and True这本书时,我也成功地使用了:

$ lein run

为了学习的目的,我决定探索一些开源项目。因此,我对这个开源项目做了一个git clone

在文件夹上,我决定复制到目前为止已经工作的步骤。但是,工作。在执行cider-jack-in之后,迷你缓冲区回显以下内容:

The clojure executable isn’t on your ‘exec-path

同样,如果我尝试使用lein,我得到:

[pedro@system:~/projects/http-cron]$ lein run
No :main namespace specified in project.clj.

奥林匹克广播服务公司。如果我在shell中输入clojure,我得到的是:

[pedro@system:~]$ clojure
The program 'clojure' is not in your PATH. You can make it available in an
ephemeral shell by typing:
nix-shell -p clojure

为什么会发生这种情况?

如何解决这个问题(考虑到我正在使用NixOS)?

根据您使用的是带有通道(默认)还是带有片的NixOS,您可以使用以下命令将clojure永久安装到您的环境中:

  • 通道:nix-env -f '<nixpkgs>' -iA clojure
  • flakes:nix profile install nixpkgs#clojure

首选的(声明式)方式是将clojure添加到/etc/nixos/configuration.nix中的environment.systemPackages,并运行sudo nixos-rebuild switch

相关内容

  • 没有找到相关文章

最新更新