2
我想在Eclipse中设置生产和开发配置文件,以便在Heroku上部署我的compojure/ring应用程序。但是,逆时针插件不会加载配置文件中的环境变量。我在环境选项卡中添加了变量并重新启动了REPL,但变量仍然不可用。这就是我添加它们的方式:environment variables。逆时针设置环境变量
我自己也尝试添加变量profiles.clj但无济于事:
`:profiles
{:production
{:ring
{:open-browser? false,
:stacktraces? false,
:auto-reload? false}
:env {:port 3000
:db-url "//localhost/login"
:db-user "test"
:db-pass "test"
:galleries-path "test"}}
:dev
{:dependencies [[ring-mock "0.1.5"]
[ring/ring-devel "1.2.0"]]
:env {:port 3000
:db-url "//localhost/gallery"
:db-user "test"
:db-pass "testProd"
:galleries-path "galleries"}}}`
作出修改建议后,我收到以下错误:
'db-spec {:password nil, :subprotocol "postgresql", :user nil, :subname nil} is missing a required parameter'
这里是我的DB-规格:'(def db {:subprotocol "postgresql" :subname (env :db-url) :user (env :db-user) :password (env :db-pass)})'
我只是不知道所需的参数是什么。 –可能是零值是缺失的? –
你是对的。然而,问题不在于零值缺失,而在于它们没有得到适当的评估,这又回到了关于环境如何强制环境变量的观点。建议更改后,我的DB-规格如下所示: '(DEF DB {:子协议 “的PostgreSQL” :子名(ENV:DB_URL) :用户(ENV:DB_USER) :密码(ENV:DB_PASS)} )' 当运行'db'时,得到以下结果: '=>分贝 {:子协议 “的PostgreSQL”, :子名称零, :用户零, :密码零}' –