distillery
distillery copied to clipboard
Release failed: no match of right hand side value: {:error, :eacces}
Steps to reproduce
$ mix phx.new --no-ecto phoenix_distillery
$ cd phoenix_distillery
# mix.exs
defp deps do
[ ...,
{:distillery, "~> 2.0"},
...,
]
end
$ mix deps.get --only prod
$ MIX_ENV=prod mix compile
$ npm run deploy --prefix assets
$ mix phx.digest
$ mix distillery.init
$ MIX_ENV=prod mix distillery.release
Just a brief list of the steps required to produce the issue.
Verbose Logs
Paste the output of the release command you ran with the --verbose flag
below in the summary tags (this helps keep the issue easy to navigate):
Generated phoenix_distillery app
==> Assembling release..
==> Building release phoenix_distillery:0.1.0 using environment prod
==> Including ERTS 13.1.4 from /opt/homebrew/Cellar/erlang/25.2.2/lib/erlang/erts-13.1.4
==> Release failed: no match of right hand side value: {:error, :eacces}
Same problem here, did you manage to resolve it? I turned on Verbose logging and no more useful hints I can see. Release on it's own seems to work fine.
somewhere in the Internet i found decision:
fix error: Release failed: no match of right hand side value: {:error, :eacces}
--- a/lib/distillery/releases/assembler.ex
+++ b/lib/distillery/releases/assembler.ex
@@ -860,7 +860,7 @@ defmodule Distillery.Releases.Assembler do
# no work around for this
old_cwd = File.cwd!()
File.cd!(output_dir)
- :ok = :release_handler.create_RELEASES('./', 'releases', '#{relfile}', [])
+ :ok = :release_handler.create_RELEASES(File.cwd!(), Path.join([File.cwd!(), 'releases']), '#{relfile}', [])
File.cd!(old_cwd)
:ok
end
and it works for me (dont forget remove _build folder after fixes)