请分享您的想法,参加 2024 年 Clojure 调查问卷!

欢迎!请查看 关于 页面,了解更多有关如何使用此资源的信息。

+2 投票
工具
编辑

官方入门指南演示了如何在 macOS、Linux 和 Windows 操作系统上使用命令行工具安装 Clojure 及其依赖项。

这些步骤对于有经验的程序员来说效果不错,他们乐于解决问题。然而,对于降低新手的门槛来说,这并不理想,容易给新手留下不好的第一印象。

我在面向几乎没有 Clojure 或编程经验的新手的“Clojure 入门”研讨会上使用了上述指南。我亲眼看到人们在安装 Clojure 及其依赖项到系统上时有困难,尤其是在 Windows 用户中。

让用户一步安装 Clojure 及所有依赖项将使人们更容易安装 Clojure,并显著提高新手的用户体验,这对于增加曝光度和采用率至关重要。

为此,我想提议为所有操作系统提供官方的“下载并双击安装程序”。为了获取灵感,您可以查看其他语言如 PythonGo 提供的安装程序。“只需下载此安装程序并运行即可。就是这样。”

此外,Scala 有一个 优秀的着陆页,提供了两个选项来引导新手和高级用户到不同的安装指南。新手被鼓励在没有在电脑上安装任何东西的情况下在浏览器中尝试 Scala。对于 Clojure,我们可以引导新手使用像 CalvaMaria 这样的工具。

总之:我们可以从其他编程语言生态系统中获得灵感,为新手创建更顺畅的安装体验。在发现之后,新手体验从安装过程开始。

请注意,在 Clojurians Slack 中有一个相关的讨论正在进行中。讨论链接

4 个答案

+3
borkdude头像

使事情变得更容易的一种尝试是deps.clj项目,该项目提供官方Clojure工具的即插即用替代品。请参阅https://github.com/borkdude/deps.clj。它提供独立的二进制文件、uberjar和babashka脚本,它们都执行相同的功能。我从Windows用户那里听说,安装它非常容易。

Peter Strömberg头像
感谢borkdude的deps.clj,自从我们将其与Calva捆绑在一起后,我们已经能够帮助许多Windows用户在编辑器中尝试Clojure,并在安装clojure之前建立一定的兴奋。
+1
Peter Strömberg头像

我认为没有一条途径可以实现Clojure的一键二进制安装程序。Java是必需的,而安装方式将在不同的机器和操作系统之间有很大差异。可能是一个开发者容器,但它将问题转移到还需要安装Docker。

在像您的研讨会这样的活动中,Leif Eric,以及可能在那之外的背景下,我认为将事情变成一个二进制安装的一种方法是使用babashka。我们很可能创建一些入门项目,其中可以使用JVM Clojure或babashka。这样人们就能以简单的途径安装尝试语言所需的东西,为有生产力的东西开辟一条美好的道路,使安装Java的精力更加值得。

感谢你的建议,Peter!我有一个(可能有些天真的)后续问题关于JVM:为什么很难制作一个安装Binary Installer的程序,它可以安装某些版本的JVM同时安装Clojure?我以为JVM是非常普遍、可移植和可嵌入的。再次,请原谅我无知,因为我对Java和JVM的经验最少。
正如PEZ所说的,babashka和bb clojure <args>与deps <args>相同,因为babashka已经使用了deps.clj。所以如果你已经安装了bb,就无需单独安装deps.clj。
0

大家好,我是一位仅使用Windows作为开发环境的开发者。请注意,我还有一个linux双启动WSL2安装,但我更喜欢使用带有cmd.exe的Windows。我用Windows来开发Python、Elixir和Java。需要考虑的一点是,Clojure需要安装PowerShell,并且似乎没有提供任何替代方案。

我真的建议为不使用PowerShell的人提供安装Clojure的解决方案;我知道的大多数Windows开发者都不使用PowerShell,而是使用老旧的cmd.exe。主要用于Windows管理员;它对开发者和其他使用环境的所有其他环境都没有提供价值。

原始问题中提出的解决方案;“只下载此安装程序并运行。就是这样。”将会是理想的。在路径中安装可执行文件并使用它。另外,你可能还想考虑讨论Lein;Lein在Windows上运行良好,无需PowerShell,因此可以视为为不想要使用PowerShell的人提供的解决方案。

by
在我看来,“入门/运行 Clojure 的其他方式”应该提到 Leiningen 作为替代方案,因为它是“运行 Clojure 的另一种方式” (;) 此外,我发现 Leiningen 的用户界面仍然更好,特别是在初学者用户方面。

安装和启动 repl

## Leiningen

1. 获取 "lein" 脚本。
2. 运行:lein repl。
3. 连接您最喜欢的编辑器。

## Clojure 工具

1. 获取安装包。
2. 运行它。
3. 运行 "clj" 或 "clojure" -r。
4. 初学者用户问:clj 和 clojure 之间有什么区别?
5. 哎呀,我已经启动了 REPL,但无法将我的编辑器连接到它....
0
by

"便于初学者安装" 已经完成!让我们把它拆分开。

"便于初学者" 意味着不必使用管理员权限;不必做出承诺或承担复杂结果的的风险,如果安装程序做了意外的事情;文件显然分区(例如,在一个目录内部),以便清晰地清理并反复尝试。

另一方面,“便于安装” 不仅是更困难的问题,或许也是次要的。当某人对于试用感到兴奋时,记住这些人都是顶尖 1%,他们将会了解是否真的需要“安装”,如果需要,他们会很高兴得到不少于任务本质的待遇。

Leiningen 是一个很好的例子(很难打败“下载 lein”和"./lein”)甚至避免了系统级安装以避免复杂化。然而,Clojure 的官方入门页面并非推荐 Leiningen 的好地方。Lein 与 Maven 的深层血亲关系已经是一个巨大的助推器,但一个直接连接到源代码库的未来,无需包装步骤或中介商买卖 jar,更接近 Clojure 的精神。

...