我尝试将Phoenix Elixir应用程序部署到Heroku时遇到编译错误

4si2a6ki  于 2022-11-30  发布在  Phoenix
关注(0)|答案(1)|浏览(253)

我对部署过程以及如何解释Heroku上的构建日志非常不熟悉。我正在尝试部署我的Phoenix Elixir应用程序,并且已经完成了https://hexdocs.pm/phoenix/heroku.html上概述的过程。但是,我的构建日志中出现以下错误:

npm ERR! Linux 4.4.0-1062-aws
   npm ERR! argv "/tmp/build_cb2fdf13a1883f06eae3f7c5297f7b64/.heroku/node/bin/node" "/tmp/build_cb2fdf13a1883f06eae3f7c5297f7b64/.heroku/node/bin/npm" "run" "deploy"
   npm ERR! node v6.9.2
   npm ERR! npm  v3.10.9
   npm ERR! code ELIFECYCLE
   npm ERR! @ deploy: `webpack --mode production`
   npm ERR! Exit status 1
   npm ERR!
   npm ERR! Failed at the @ deploy script 'webpack --mode production'.
   npm ERR! Make sure you have the latest version of node.js and npm installed.
   npm ERR! If you do, this is most likely a problem with the  package,
   npm ERR! not with npm itself.
   npm ERR! Tell the author that this fails on your system:
   npm ERR!     webpack --mode production
   npm ERR! You can get information on how to open an issue for this project with:
   npm ERR!     npm bugs
   npm ERR! Or if that isn't available, you can get their info via:
   npm ERR!     npm owner ls
   npm ERR! There is likely additional logging output above.

   npm ERR! Please include the following file with any support request:
   npm ERR!     /tmp/build_cb2fdf13a1883f06eae3f7c5297f7b64/assets/npm-debug.log

我已经按照日志的建议更新到node.js和npm的最新版本。
谢谢你!

xriantvc

xriantvc1#

问题与您本地的节点版本无关。如果您查看日志,会发现 heroku 正在尝试使用节点v6.9.2。这是一个无法正常工作的旧版本节点。您需要使用heroku-buildpack-phoenix-static,以便定义heroku尝试使用的节点版本。使用cli添加buildpack:

$ heroku buildpacks:add https://github.com/gjaldon/heroku-buildpack-phoenix-static.git

然后在你的项目根目录下创建一个phoenix_static_buildpack.config文件,在这个文件中定义要使用的节点版本:

node_version=12.18.1

这将通知heroku使用该版本的节点。然后尝试重新部署,问题应该会得到解决。
如果你有更多的问题,请查看phoenix关于部署到heroku的文档。它有很多有用的信息:https://hexdocs.pm/phoenix/heroku.html

相关问题