我对部署过程以及如何解释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的最新版本。
谢谢你!
1条答案
按热度按时间xriantvc1#
问题与您本地的节点版本无关。如果您查看日志,会发现 heroku 正在尝试使用节点v6.9.2。这是一个无法正常工作的旧版本节点。您需要使用heroku-buildpack-phoenix-static,以便定义heroku尝试使用的节点版本。使用cli添加buildpack:
然后在你的项目根目录下创建一个phoenix_static_buildpack.config文件,在这个文件中定义要使用的节点版本:
这将通知heroku使用该版本的节点。然后尝试重新部署,问题应该会得到解决。
如果你有更多的问题,请查看phoenix关于部署到heroku的文档。它有很多有用的信息:https://hexdocs.pm/phoenix/heroku.html