clojure要求不设置命名空间oauth

时间:2016-08-21 21:13:51

标签: clojure

如何测试require是否在clojure中工作。 REPL中的要求返回nil。我不知道零是否意味着它有效。 oauth的命名空间似乎没有设置。

错误

引起:java.lang.RuntimeException:没有这样的命名空间:oauth

(ns hello.core)
(defn -main
  []

  (require 'twitter '[oauth.client :as oauth])

  ;; Make a OAuth consumer
  (def oauth-consumer (oauth/make-consumer <key>
                                           <secret>
                                           "https://api.twitter.com/oauth/request_token"
                                           "https://api.twitter.com/oauth/access_token"
                                           "https://api.twitter.com/oauth/authorize"
                                           :hmac-sha1))

2 个答案:

答案 0 :(得分:5)

require放在-main函数中是行不通的;在评估文件时必须对其进行评估,以便识别命名空间别名。您应该将其放在ns表单中,而不是:

(ns hello.core
  (:require [oauth.client :as oauth]
            [twitter]))

答案 1 :(得分:1)

要添加到Sam的答案,请注意repl环境和.clj文件之间的区别 https://clojuredocs.org/clojure.core/require