Powershell error when executing commands with Windows releases
PaoloLaurenti opened this issue · 0 comments
PaoloLaurenti commented
Steps to reproduce
Running any command of the generated .bat file will produce the following Powershell error:
Set-Content : A parameter cannot be found that matches parameter name 'InputObject'.
Verbose Logs
$ MIX_ENV=prod mix release --env=prod --verbose --no-tar
==> base64url (compile)
===> Compiling mimerl
===> Compiling metrics
===> Compiling unicode_util_compat
===> Compiling idna
==> gettext
Compiling 1 file (.erl)
Compiling 20 files (.ex)
Generated gettext app
==> jose
Compiling 89 files (.erl)
src/jose_public_key.erl:44: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:60: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:84: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:107: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:122: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:234: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
Compiling 8 files (.ex)
Generated jose app
===> Compiling ranch
warning: String.strip/1 is deprecated. Use String.trim/1 instead
c:/Users/paolo/dev/work/antgroup/marconi/deps/poison/mix.exs:4
==> poison
Compiling 4 files (.ex)
warning: HashDict.size/1 is deprecated. Use maps and the Map module instead
lib/poison/encoder.ex:283
warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
lib/poison/encoder.ex:161
Generated poison app
==> ssl_verify_fun (compile)
==> scrivener
Compiling 4 files (.ex)
Generated scrivener app
==> combine
Compiling 6 files (.ex)
Generated combine app
===> Compiling certifi
===> Compiling hackney
==> tzdata
Compiling 16 files (.ex)
Generated tzdata app
==> timex
Compiling 58 files (.ex)
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/comparable/diff.ex:62
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/calendar/julian.ex:81
Generated timex app
==> httpoison
Compiling 2 files (.ex)
Generated httpoison app
===> Compiling cowlib
===> Compiling cowboy
==> uuid
Compiling 1 file (.ex)
Generated uuid app
==> mime
Compiling 1 file (.ex)
warning: String.strip/1 is deprecated. Use String.trim/1 instead
lib/mime.ex:28
Generated mime app
==> plug
Compiling 1 file (.erl)
Compiling 44 files (.ex)
warning: calling super for GenServer callback handle_info/2 is deprecated
lib/plug/upload.ex:166
warning: System.stacktrace/0 outside of rescue/catch clauses is deprecated. If you want to support only Elixir v1.7+, you must access __STACKTRACE__ inside a rescue/catch. If you want to support earlier Elixir versions, move System.stacktrace/0 inside a rescue/catch
lib/plug/conn/wrapper_error.ex:21
warning: System.stacktrace/0 outside of rescue/catch clauses is deprecated. If you want to support only Elixir v1.7+, you must access __STACKTRACE__ inside a rescue/catch. If you want to support earlier Elixir versions, move System.stacktrace/0 inside a rescue/catch
lib/plug/conn/wrapper_error.ex:26
warning: System.stacktrace/0 outside of rescue/catch clauses is deprecated. If you want to support only Elixir v1.7+, you must access __STACKTRACE__ inside a rescue/catch. If you want to support earlier Elixir versions, move System.stacktrace/0 inside a rescue/catch
lib/plug/error_handler.ex:82
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/plug/conn.ex:422
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/plug/conn.ex:446
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/plug/conn.ex:506
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/plug/conn.ex:1033
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/plug/conn.ex:1057
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/plug/conn.ex:1089
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/plug/conn.ex:1111
warning: System.stacktrace/0 outside of rescue/catch clauses is deprecated. If you want to support only Elixir v1.7+, you must access __STACKTRACE__ inside a rescue/catch. If you want to support earlier Elixir versions, move System.stacktrace/0 inside a rescue/catch
lib/plug/debugger.ex:115
warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead
lib/plug/adapters/cowboy.ex:46
Generated plug app
==> corsica
Compiling 2 files (.ex)
Generated corsica app
==> guardian
Compiling 18 files (.ex)
Generated guardian app
==> scrivener_headers
Compiling 1 file (.ex)
Generated scrivener_headers app
==> artificery
Compiling 10 files (.ex)
Generated artificery app
==> distillery
Compiling 33 files (.ex)
Generated distillery app
==> edeliver
Compiling 32 files (.ex)
Generated edeliver app
==> marconi
Compiling 45 files (.ex)
Generated marconi app
==> Loading configuration..
==> Assembling release..
==> Building release marconi:1.7.1 using environment prod
==> Discovered applications:
> kernel-6.0
|
| from: c:/Program Files/erl10.0.1/lib/kernel-6.0
| applications: none
| includes: none
|_____
> scrivener_headers-3.1.1
|
| from: _build/prod/lib/scrivener_headers
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> uuid-1.1.8
|
| from: _build/prod/lib/uuid
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> base64url-0.0.1
|
| from: _build/prod/lib/base64url
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> jose-1.8.4
|
| from: _build/prod/lib/jose
| applications:
| :kernel
| :stdlib
| :elixir
| :crypto
| :asn1
| :public_key
| :base64url
| includes: none
|_____
> guardian-1.0.0-beta.1
|
| from: _build/prod/lib/guardian
| applications:
| :kernel
| :stdlib
| :elixir
| :logger
| :poison
| :jose
| :uuid
| includes: none
|_____
> corsica-1.0.0
|
| from: _build/prod/lib/corsica
| applications:
| :kernel
| :stdlib
| :elixir
| :logger
| :cowboy
| :plug
| includes: none
|_____
> mime-1.1.0
|
| from: _build/prod/lib/mime
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> plug-1.4.3
|
| from: _build/prod/lib/plug
| applications:
| :kernel
| :stdlib
| :elixir
| :crypto
| :logger
| :mime
| includes: none
|_____
> cowlib-1.0.2
|
| from: _build/prod/lib/cowlib
| applications:
| :kernel
| :stdlib
| :crypto
| includes: none
|_____
> ranch-1.3.2
|
| from: _build/prod/lib/ranch
| applications:
| :kernel
| :stdlib
| :ssl
| includes: none
|_____
> cowboy-1.1.2
|
| from: _build/prod/lib/cowboy
| applications:
| :kernel
| :stdlib
| :ranch
| :cowlib
| :crypto
| includes: none
|_____
> httpoison-0.11.2
|
| from: _build/prod/lib/httpoison
| applications:
| :kernel
| :stdlib
| :elixir
| :hackney
| includes: none
|_____
> poison-2.2.0
|
| from: _build/prod/lib/poison
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> combine-0.10.0
|
| from: _build/prod/lib/combine
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> gettext-0.15.0
|
| from: _build/prod/lib/gettext
| applications:
| :kernel
| :stdlib
| :elixir
| :logger
| includes: none
|_____
> metrics-1.0.1
|
| from: _build/prod/lib/metrics
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> ssl_verify_fun-1.1.1
|
| from: _build/prod/lib/ssl_verify_fun
| applications:
| :kernel
| :stdlib
| :ssl
| includes: none
|_____
> certifi-1.2.1
|
| from: _build/prod/lib/certifi
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> mimerl-1.0.2
|
| from: _build/prod/lib/mimerl
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> unicode_util_compat-0.2.0
|
| from: _build/prod/lib/unicode_util_compat
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> idna-5.0.2
|
| from: _build/prod/lib/idna
| applications:
| :kernel
| :stdlib
| :unicode_util_compat
| includes: none
|_____
> ssl-9.0
|
| from: c:/Program Files/erl10.0.1/lib/ssl-9.0
| applications:
| :crypto
| :public_key
| :kernel
| :stdlib
| includes: none
|_____
> public_key-1.6
|
| from: c:/Program Files/erl10.0.1/lib/public_key-1.6
| applications:
| :asn1
| :crypto
| :kernel
| :stdlib
| includes: none
|_____
> asn1-5.0.6
|
| from: c:/Program Files/erl10.0.1/lib/asn1-5.0.6
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> crypto-4.3
|
| from: c:/Program Files/erl10.0.1/lib/crypto-4.3
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> hackney-1.8.6
|
| from: _build/prod/lib/hackney
| applications:
| :kernel
| :stdlib
| :crypto
| :asn1
| :public_key
| :ssl
| :idna
| :mimerl
| :certifi
| :ssl_verify_fun
| :metrics
| includes: none
|_____
> tzdata-0.5.16
|
| from: _build/prod/lib/tzdata
| applications:
| :kernel
| :stdlib
| :elixir
| :hackney
| :logger
| includes: none
|_____
> timex-3.3.0
|
| from: _build/prod/lib/timex
| applications:
| :kernel
| :stdlib
| :elixir
| :logger
| :tzdata
| :gettext
| :combine
| includes: none
|_____
> edeliver-1.6.0
|
| from: _build/prod/lib/edeliver
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> logger-1.7.2
|
| from: c:/ProgramData/chocolatey/lib/Elixir/bin/../lib/logger
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> marconi-1.7.1
|
| from: _build/prod/lib/marconi
| applications:
| :kernel
| :stdlib
| :elixir
| :logger
| :edeliver
| :timex
| :poison
| :httpoison
| :cowboy
| :plug
| :corsica
| :guardian
| :scrivener_headers
| :distillery
| includes: none
|_____
> artificery-0.2.6
|
| from: _build/prod/lib/artificery
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> distillery-2.0.12
|
| from: _build/prod/lib/distillery
| applications:
| :kernel
| :stdlib
| :elixir
| :runtime_tools
| :artificery
| includes: none
|_____
> runtime_tools-1.13
|
| from: c:/Program Files/erl10.0.1/lib/runtime_tools-1.13
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> stdlib-3.5
|
| from: c:/Program Files/erl10.0.1/lib/stdlib-3.5
| applications:
| :kernel
| includes: none
|_____
> compiler-7.2.1
|
| from: c:/Program Files/erl10.0.1/lib/compiler-7.2.1
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> sasl-3.2
|
| from: c:/Program Files/erl10.0.1/lib/sasl-3.2
| applications:
| :kernel
| :stdlib
| includes: none
|_____
> iex-1.7.2
|
| from: c:/ProgramData/chocolatey/lib/Elixir/bin/../lib/iex
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> mix-1.7.2
|
| from: c:/ProgramData/chocolatey/lib/Elixir/bin/../lib/mix
| applications:
| :kernel
| :stdlib
| :elixir
| includes: none
|_____
> elixir-1.7.2
|
| from: c:/ProgramData/chocolatey/lib/Elixir/bin/../lib/elixir
| applications:
| :kernel
| :stdlib
| :compiler
| includes: none
|_____
==> Running validation checks..
> Mix.Releases.Checks.Erts * PASS
> Mix.Releases.Checks.Cookie * WARN
> Mix.Releases.Checks.LoadedOrphanedApps * PASS
Attention! You did not provide a cookie for the erlang distribution protocol in rel/config.exs
For backwards compatibility, the release name will be used as a cookie, which is potentially a security risk!
Please generate a secure cookie and use it with `set cookie: <cookie>` in rel/config.exs.
This will be an error in a future release.
==> Generated overlay vars:
release_name=:marconi
release_version="1.7.1"
is_upgrade=false
upgrade_from=:latest
dev_mode=false
include_erts=true
include_src=false
include_system_libs=true
erl_opts=""
run_erl_env=""
erts_vsn="10.0.1"
output_dir="_build/prod/rel/marconi"
==> Copying applications to _build/prod/rel/marconi
==> Generating start_erl.data
==> Generating vm.args
==> Generating sys.config from config/config.exs
==> Including ERTS 10.0.1 from c:/Program Files/erl10.0.1/erts-10.0.1
==> Generating boot scripts
==> Generating RELEASES
==> Applying overlays
==> Applying mkdir overlay
dst: releases/1.7.1/hooks
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/pre_configure.d
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/post_configure.d
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/pre_start.d
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/post_start.d
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/pre_stop.d
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/post_stop.d
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/pre_upgrade.d
==> Applying mkdir overlay
dst: releases/1.7.1/hooks/post_upgrade.d
==> Applying copy overlay
src: _build/prod/lib/distillery/priv/libexec
dst: releases/1.7.1/libexec
==> Applying mkdir overlay
dst: releases/1.7.1/commands
Release successfully built!
To start the release you have built, you can use one of the following tasks:
# start a shell, like 'iex -S mix'
> _build/prod/rel/marconi/bin/marconi.bat console
# start in the foreground, like 'mix run --no-halt'
> _build/prod/rel/marconi/bin/marconi.bat foreground
# start in the background, must be stopped with the 'stop' command
> _build/prod/rel/marconi/bin/marconi.bat start
If you started a release elsewhere, and wish to connect to it:
# connects a local shell to the running node
> _build/prod/rel/marconi/bin/marconi.bat remote_console
# connects directly to the running node's console
> _build/prod/rel/marconi/bin/marconi.bat attach
For a complete listing of commands and their use:
> _build/prod/rel/marconi/bin/marconi.bat help
Description of issue
-
What are the expected results?
No errors when executing commands of the generated .bat file. -
What version of Distillery?
2.0.12 -
What OS, Erlang/Elixir versions are you seeing this issue on?
Windows Server 2016 / Windows 10
Erlang 21.0.5
Elixir 1.7.2 -
If possible, also provide your
rel/config.exs
, as it is often
my first troubleshooting question, and you'll save us both time :)
# Import all plugins from `rel/plugins`
# They can then be used by adding `plugin MyPlugin` to
# either an environment, or release definition, where
# `MyPlugin` is the name of the plugin module.
Path.join(["rel", "plugins", "*.exs"])
|> Path.wildcard()
|> Enum.map(&Code.eval_file(&1))
use Mix.Releases.Config,
# This sets the default release built by `mix release`
default_release: :default,
# This sets the default environment used by `mix release`
default_environment: Mix.env()
# For a full list of config options for both releases
# and environments, visit https://hexdocs.pm/distillery/configuration.html
# You may define one or more environments in this file,
# an environment's settings will override those of a release
# when building in that environment, this combination of release
# and environment configuration is called a profile
environment :dev do
# If you are running Phoenix, you should make sure that
# server: true is set and the code reloader is disabled,
# even in dev mode.
# It is recommended that you build with MIX_ENV=prod and pass
# the --env flag to Distillery explicitly if you want to use
# dev mode.
set dev_mode: true
set include_erts: true
set cookie: <MY_COOKIE>
end
environment :prod do
set include_erts: true
set include_src: false
plugin Releases.Plugin.LinkConfig
end
# You may define one or more releases in this file.
# If you have not set a default release, or selected one
# when running `mix release`, the first release in the file
# will be used by default
release :marconi do
set version: current_version(:marconi)
set applications: [
:runtime_tools
]
end