clojure - 如何在 OpenShift 上运行 clojure

标签 clojure openshift leiningen

我正在尝试使用 clojure-cartridge 在 OpenShift 上部署 Clojure 应用程序运行以下命令:

rhc 应用创建 myapp http://cartreflect-claytondev.rhcloud.com/github/openshift-cartridges/clojure-cartridge

我可以使用 lein run 在本地运行应用程序并查看 http://localhost:8080/ 它按预期工作。但是当我从 OpenShift 运行它时,我得到:服务暂时不可用。

当我执行 rhc tail 时,我得到:

现在正在将 Leiningen 下载到/var/lib/openshift/54a1a338fcf933fb93000106/clojure//home/self-installs/leiningen-2.5.0-standalone.jar... % Total % Received % Xferd Average Speed Time Time Time 电流 Dload Upload Total Spent Left 速度 100 14.2M 100 14.2M 0 0 18.6M 0 --:--:-- --:--:-- --:--:-- 25.5M 无法将工件 lein-ring:lein-ring:pom:0.7.5 从/转移到 clojars (https://clojars.org/repo/):无法创建指定的目标目录:/.m2/repository/lein-ring/林环/0.7.5 这可能是由于 :dependencies 中的拼写错误或网络问题。 如果您使用代理,请尝试设置“http_proxy”环境变量。

我对 Clojure 和 OpenShift 都不熟悉,所以我可能错过或误解了一些明显的东西。但是对出了什么问题有什么想法吗?

最佳答案

尽管出现此错误,但我对 OpenShift 一无所知:

Specified destination directory cannot be created: /.m2/repository/lein-ring/lein-ring/0.7.5

强烈暗示 $HOME 环境变量在 OpenShift 中不可用。 lein 将文件写入 $HOME/.m2/repository/... 因此,如果 $HOME 未设置,则会导致上述错误。 It looks like OpenShift allows this:

Setting Custom Environment Variables
Set one of more environment variables for an application with the following command:

$  hc env set <Variable>=<Value> <Variable2>=<Value2> -a App_Name

关于clojure - 如何在 OpenShift 上运行 clojure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27694810/

相关文章:

git - clojure 和 leiningen - 使用 git 存储库作为依赖项

xml - Hadoop 会为我带来更多好处吗?

java - 用户 MySQL Java Openshift 访问被拒绝

dictionary - 有没有一种优雅的方法来改变clojure映射的键?

kubernetes - 什么控制 Openshift Web 控制台中的终端 pod 访问?

java - 使用适用于 OpenShift 的 Jboss Tools 插件进行部署会生成错误 invalid target release : 1. 8

emacs - 如何为 clojure、evil、hinting、paren 突出显示设置 emacs?

java - 如何确保我的 .jar 从独立文件中读取数据

clojure - defrecord 未找到类异常

java - 在 Clojure 中扩展自定义 Java 类、映射和序列的协议(protocol)