Clojure安装与运行 #

一、安装前提 #

1.1 Java环境 #

Clojure运行在JVM上,需要先安装Java:

bash
java -version

要求:Java 8或更高版本(推荐Java 11或17 LTS)

1.2 安装Java #

macOS

bash
brew install openjdk@17

Ubuntu/Debian

bash
sudo apt update
sudo apt install openjdk-17-jdk

Windows

Adoptium 下载安装。

二、安装方式 #

Clojure有两种主要的安装方式:

方式 工具 特点
官方CLI clojure 官方推荐,轻量级
Leiningen lein 社区标准,功能丰富

2.1 安装Clojure官方CLI #

macOS

bash
brew install clojure/tools/clojure

Linux

bash
curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh
chmod +x linux-install.sh
sudo ./linux-install.sh

Windows

powershell
powershell -Command "iwr -useb https://download.clojure.org/install/win-install-1.11.1.1435.ps1 | iex"

验证安装

bash
clojure --version

2.2 安装Leiningen #

macOS

bash
brew install leiningen

Linux

bash
curl https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein -o ~/bin/lein
chmod +x ~/bin/lein
lein

Windows

  1. 下载 lein.bat
  2. 放到PATH路径中
  3. 运行 lein self-install

验证安装

bash
lein version

三、REPL基础 #

3.1 启动REPL #

使用Clojure CLI

bash
clj

使用Leiningen

bash
lein repl

3.2 REPL交互 #

clojure
user=> (+ 1 2 3)
6

user=> (defn hello [name]
         (str "Hello, " name "!"))
#'user/hello

user=> (hello "Clojure")
"Hello, Clojure!"

user=> (quit)

3.3 REPL快捷键 #

快捷键 功能
Ctrl+C 中断当前输入
Ctrl+D 退出REPL
↑/↓ 历史命令
Tab 自动补全

四、项目创建 #

4.1 使用Leiningen创建项目 #

bash
lein new my-project

项目结构

text
my-project/
├── project.clj
├── README.md
├── resources/
├── src/
│   └── my_project/
│       └── core.clj
└── test/
    └── my_project/
        └── core_test.clj

4.2 使用Clojure CLI创建项目 #

创建 deps.edn 文件:

clojure
{:paths ["src"]
 :deps {}
 :aliases {:run {:main-opts ["-m" "my-project.core"]}}}

创建源文件 src/my_project/core.clj

clojure
(ns my-project.core)

(defn -main []
  (println "Hello, World!"))

运行:

bash
clj -M -m my-project.core

五、开发环境配置 #

5.1 VS Code + Calva #

  1. 安装VS Code
  2. 安装Calva插件
  3. 打开Clojure项目
  4. 使用 Ctrl+Alt+C Enter 连接REPL

Calva配置

json
{
  "calva.replConnectSequences": [
    {
      "name": "Leiningen",
      "projectType": "Leiningen",
      "cljsType": "none"
    }
  ]
}

5.2 Emacs + CIDER #

  1. 安装Emacs
  2. 配置MELPA源
  3. 安装CIDER
elisp
(use-package cider
  :ensure t)
  1. 打开 .clj 文件
  2. M-x cider-jack-in 启动REPL

5.3 IntelliJ + Cursive #

  1. 安装IntelliJ IDEA
  2. 安装Cursive插件
  3. 打开Clojure项目
  4. 使用REPL功能

六、依赖管理 #

6.1 Leiningen (project.clj) #

clojure
(defproject my-project "0.1.0-SNAPSHOT"
  :description "My Clojure Project"
  :dependencies [[org.clojure/clojure "1.11.1"]
                 [ring/ring "1.9.6"]]
  :main my-project.core)

常用命令

bash
lein deps
lein run
lein test
lein uberjar

6.2 Clojure CLI (deps.edn) #

clojure
{:paths ["src" "resources"]
 :deps {org.clojure/clojure {:mvn/version "1.11.1"}
        ring/ring {:mvn/version "1.9.6"}}
 :aliases {:test {:extra-paths ["test"]
                  :extra-deps {}}}}

常用命令

bash
clj -M -m my-project.core
clj -X:test
clj -M -P

七、运行Clojure程序 #

7.1 脚本方式 #

创建 hello.clj

clojure
#!/usr/bin/env clojure
(println "Hello, World!")

运行:

bash
chmod +x hello.clj
./hello.clj

7.2 使用Leiningen运行 #

bash
lein run

7.3 编译为JAR #

bash
lein uberjar
java -jar target/my-project-0.1.0-standalone.jar

八、常见问题 #

8.1 依赖下载慢 #

配置国内镜像(~/.m2/settings.xml):

xml
<settings>
  <mirrors>
    <mirror>
      <id>aliyun</id>
      <mirrorOf>central</mirrorOf>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
  </mirrors>
</settings>

8.2 REPL连接失败 #

检查端口是否被占用:

bash
lsof -i :port

8.3 版本冲突 #

查看依赖树:

bash
lein deps :tree

或:

bash
clj -Stree

九、总结 #

安装Clojure的关键步骤:

  1. 安装Java:确保JDK 8+
  2. 选择工具:Leiningen或Clojure CLI
  3. 配置编辑器:Calva、CIDER或Cursive
  4. 创建项目:lein new 或 deps.edn
  5. 启动REPL:交互式开发

下一步,让我们编写第一个Clojure程序!

最后更新:2026-03-27