Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running webpack executable watcher on Windows causes errors #1218

Closed
johanalkstal opened this issue Sep 15, 2015 · 2 comments
Closed

Running webpack executable watcher on Windows causes errors #1218

johanalkstal opened this issue Sep 15, 2015 · 2 comments

Comments

@johanalkstal
Copy link

I created a new Phoenix project without brunch, mix phoenix.new yzerman --no-brunch and added webpack through npm, then added it to the watchers list,

watchers: [{ Path.expand("node_modules/webpack/bin/webpack.js"), ["--watch", "--colors", "--progress"] }]

Also added a webpack.config.js and a simple app.js file to see that it works.

But I get this error,

D:\Projects\Faceoff\yzerman> mix phoenix.server
[info] Running Yzerman.Endpoint with Cowboy on http://localhost:4000
[info] Running Yzerman.Endpoint with Cowboy on http://localhost:4000
[error] Task #PID<0.248.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.250.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.251.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.252.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.362.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[info] Running Yzerman.Endpoint with Cowboy on http://localhost:4000
[error] Task #PID<0.364.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.365.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.366.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.476.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.478.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[info] Running Yzerman.Endpoint with Cowboy on http://localhost:4000
[error] Task #PID<0.479.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.480.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.590.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.592.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.593.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[error] Task #PID<0.594.0> started from Yzerman.Endpoint terminating
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["d:/Projects/Faceoff/yzerman", "d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", ["--watch",
 "--colors", "--progress"]]
** (exit) an exception was raised:
    ** (ErlangError) erlang error: :eacces
        :erlang.open_port({:spawn_executable, 'd:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js'}, [{:cd,
 "d:/Projects/Faceoff/yzerman"}, :stderr_to_stdout, :use_stdio, :exit_status, :binary, :hide, {:args, ["--watch", "--col
ors", "--progress"]}])
        (elixir) lib/system.ex:445: System.cmd/3
        (phoenix) lib/phoenix/endpoint/watcher.ex:13: Phoenix.Endpoint.Watcher.watch/3
        (elixir) lib/task/supervised.ex:74: Task.Supervised.do_apply/2
        (stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
[info] Application yzerman exited: shutdown`

I then tried this,

watchers: [{ "node #{Path.expand("node_modules/webpack/bin/webpack.js")}", ["--watch", "--colors", "--progress"] }]

Which kind of works but still not,

D:\Projects\Faceoff\yzerman> mix phoenix.server
Compiled lib/yzerman.ex
Compiled web/web.ex
Compiled web/channels/user_socket.ex
Compiled web/router.ex
Compiled web/views/error_view.ex
Compiled web/views/page_view.ex
Compiled web/controllers/page_controller.ex
Compiled web/views/layout_view.ex
Compiled lib/yzerman/endpoint.ex
Generated yzerman app
[info] Running Yzerman.Endpoint with Cowboy on http://localhost:4000
[error] Could not start watcher "node d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js", executable does
not exist

Running the same command manually works perfectly,

D:\Projects\Faceoff\yzerman> node d:/Projects/Faceoff/yzerman/node_modules/webpack/bin/webpack.js
Hash: 437b3aa38e0e655d53bd
Version: webpack 1.12.1
Time: 36ms
    Asset     Size  Chunks             Chunk Names
bundle.js  1.42 kB       0  [emitted]  main
   [0] ./web/static/js/app.js 28 bytes {0} [built]
D:\Projects\Faceoff\yzerman>

What to do to get Phoenix to run this correctly?

@chrismccord
Copy link
Member

Try

watchers: [node: ["node_modules/webpack/bin/webpack", "--watch", "--colors", "--progress"]]

If that doesn't work, this is unfortunately out of our hands as node on windows has seen some odd permissions issues that I don't think we can address.

@johanalkstal
Copy link
Author

Thanks a lot Chris! It does work with a slight correction, the extension .js is needed after webpack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants