新的compojure模板无法启动“没有用于标记名称空间的读取器功能",并且无法启动. [英] New compojure template fails to start "No reader function for tag namespace"

查看:81
本文介绍了新的compojure模板无法启动“没有用于标记名称空间的读取器功能",并且无法启动.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从lein new compojure clojure-lice运行样板项目.

I'm attempting to run the boilerplate project from lein new compojure clojure-lice.

当我运行lein ring server时,收到以下可爱错误:

When I run lein ring server I receive the following lovely error:

Exception in thread "main" java.lang.RuntimeException: No reader function for tag namespace

我的project.clj

(defproject clojure-lice "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :min-lein-version "2.0.0"
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [compojure "1.5.1"]
                 [ring/ring-defaults "0.2.1"]]
  :plugins [[lein-ring "0.9.7"]]
  :ring {:handler clojure-lice.handler/app}
  :profiles
  {:dev {:dependencies [[javax.servlet/servlet-api "2.5"]
                        [ring/ring-mock "0.3.0"]]}})

我的core.clj:

(ns clojure-lice.handler
  (:require [compojure.core :refer :all]
            [compojure.route :as route]
            [ring.middleware.defaults :refer [wrap-defaults site-defaults]]))

(defroutes app-routes
  (GET "/" [] "Hello World")
  (route/not-found "Not Found"))

(def app
  (wrap-defaults app-routes site-defaults))

我的系统统计信息:

java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

Leiningen 2.8.0 on Java 9.0.1 Java HotSpot(TM) 64-Bit Server VM

Clojure 1.8.0
OSX 10.12.6

推荐答案

尝试将Leiningen降级为2.7.1:

Try downgrading Leiningen to 2.7.1:

lein upgrade 2.7.1

这是Leiningen 2.8.0中的回归.参见 https://github.com/technomancy/leiningen/issues/2328 .

This is a regression in Leiningen 2.8.0. See https://github.com/technomancy/leiningen/issues/2328.

这篇关于新的compojure模板无法启动“没有用于标记名称空间的读取器功能",并且无法启动.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆