请在Clojure 2024 调查问卷!中分享您的想法。

欢迎!请查看关于页面了解有关本站工作的更多信息。

0投票
Clojure

我在 Windows 上运行(非 WSL)并且已经按照这里提供的说明安装了正在工作的 clojure/lein

https://dev.to/adasomg/10-life-changing-minutes-with-clojure-windows-3ofl

现在我想根据https://www.learn-clojurescript.com中的教程开始使用 clojurescript。它想要使用 clj 作为 clojurescript 的构建工具,并指向主站上的安装说明,最后指向这里

https://github.com/clojure/tools.deps.alpha/wiki/clj-on-Windows

但是该过程假设您尚未安装 clojure,我已经安装了它。是否有办法单独为 Windows 获取 clj 工具?

2 个回答

+1

已被选中
 
最佳答案

您似乎可以使用 cider 的 PowerShell 工具使其工作

https://docs.cider.mx/cider/basics/up_and_running.html#clojure-cli-options

我在这方面取得了一些成功。过去在 Windows 上工作时,在 datomic 培训日(仅使用 tools.deps...)中,我仅仅启动了一个 PowerShell 版本的 repl 和 nrepl 别名,并通过 cider-connect 在启动后从 cider 连接到它。工作正常。

理论上,可以提供一些包裹的二进制文件作为替代命令,例如https://github.com/borkdude/deps.clj。希望现在PowerShell版本可以直接正常使用(至少与cider一起使用)。

感谢你对我的指点——deps.clj非常适合我的需求。
0投票

clj命令用于Clojure CLI,这是一个不同于lein的工具,因此需要单独安装。

Leiningen项目使用project.clj文件来描述依赖项、插件等。

Clojure CLI项目使用deps.edn文件来描述依赖项等。

这是两种不同的Clojure工作方式。

"Clojure"本身实际上只是作为项目依赖项使用的库——你并不真正“安装”它。自Clojure 1.9以来,没有可以下载并使用的单个JAR文件——你必须将Clojure作为依赖项使用,因此你需要使用一些工具来自动处理依赖项管理:Leiningen或Clojure CLI(或Boot,但你没有询问这个问题)。

是的,我想我明白这一切。根据我的理解,"clojure cli"就是我要尝试工作的clj命令行工具。我已经有了clojure和Leiningen工作,但我使用的是clojurescript教程,它希望使用clojure cli工具(clj)。

我看到的在Windows上获取cli工具的唯一说明是安装clojure jar,据我所知,这在我的情况下应该是多余的,因为Leiningen已经可以使用。

我在这里缺少什么?
您需要按照以下步骤安装Clojure CLI(即"clj"命令)。这将使用Clojure并安装jar包,但请勿担心。Clojure CLI和Leiningen使用相同的Maven本地仓库来存储jar包,并且它们可以使用同一个(但默认情况下可能使用不同的版本)。您正在正确的道路上,继续前进即可。
确实有效,但对我个人来说,这有点头疼,因为工具是在PowerShell中而不是传统的Windows命令处理程序中托管的。我习惯于在emacs中托管这种类型的shell,所以只为这个用例设置另一样东西会有些麻烦。没有工具能更接近Windows下的"lein.bat"那真是太遗憾了,这样我们可以进行更接近“苹果对苹果”的比较。

无论如何,我相信我可以让Clojurescript和Leiningen运行起来;我只是想借此作为教学练习更深入地了解这个替代工具链——重叠和冲突的工具链实在是令人困惑。
(编辑 —— 意外回复了两次)




https://adamtheautomator.com/windows-subsystem-for-linux/

在谷歌搜索“wsl vpn冲突”会显示出很多结果,包括以下一个WSL GitHub页面上的公开问题(第一个搜索结果):

https://github.com/microsoft/WSL/issues/5068

此后我没有进一步挖掘细节。也许你可以根据你的个人经验和所看到的来澄清这个问题。
by
我已经将Windows VPN连接到我们的服务器集群(使用内置VPN,但服务器端是思科的东西),并且我可以从WSL2向任何服务器(包括DMZ内部或外部)的网络请求,同时连接VPN,我也可以在WSL2上启动google-chrome并与我想要的任何网站交互。我没有/etc/wsl.conf文件,所以为我自动生成/etc/resolv.conf文件。

目前为止我正在使用Windows 11上的最新WSL2版本(我已经使用了超过七年的Insider构建版本)。我想WSL2刚推出不久后,网络相关的问题,但我已经很久没有遇到过任何问题了。
by
支持似乎是因VPN种类而异。
...