为什么我的clojure/cljs应用程序没有在Heroku上部署?

brgchamk  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(165)

我尝试将我的应用程序部署到heroku,但一直收到此错误:

The required namespace "react" is not available, it was required by "reagent/core.cljs".

但我有

"react": "17.0.2-0",
    "react-dom": "17.0.2-0",
    "react-highlight.js": "1.0.7",

都在我的包里。json和我还把

[cljsjs/react "17.0.2-0"]
 [cljsjs/react-dom "17.0.2-0"]

在我的project. clj中。我也做了npm install react。我不确定我做错了什么?
使用shadow-cljs编译到我的本地主机时编译得很好,但是当我试图推到heroku时,它就不能编译了。
编辑以添加更多细节:
我根据这篇博客文章制作了一个bin/build文件,尽管我没有使用Fulcro:https://folcon.github.io/post/2020-04-12-Fulcro-on-Heroku/
我创建了一个bin/build文件,该文件如下所示:

#!/usr/bin/env bash
npm install
npx shadow-cljs release main
clojure -A:depstar -m hf.depstar.uberjar fulcro.jar

我将以下内容添加到我的shadow-cljs.edn文件:

;; v-- and this!
                       :release {:compiler-options {:optimizations :advanced}}}

它还说要在我的deps.edn文件中添加一些东西,但我没有,所以我没有。
我还执行了buildpack步骤,添加了clojure和nodejs构建包,尽管据我所知,我没有使用nodejs。

wswtfjt7

wswtfjt71#

我也遇到了同样的问题,这很容易修复。你需要首先指定buildpacksnodejs,然后只指定clojure。

lvmkulzt

lvmkulzt2#

here开始:npm install react react-dom create-react-class

相关问题