[Solved] : Why can't I use start in a command passed to the environment from Crystal?

start chrome --new-window --app=http://127.0.0.1:8080

works on the Windows command line, but :

`start chrome --new-window --app=http://127.0.0.1:8080`

doesn’t (from Crystal)

I don’t understand why?

For instance:

require "http/server"

spawn do
  server = HTTP::Server.new do |context|
    context.response.content_type = "text/plain"
    context.response.print "Hello world, got #{context.request.path}!"
  end

  # puts "Listening on http://127.0.0.1:8080"
  server.listen(8080)
end

cmd = `start chrome --new-window --app=http://127.0.0.1:8080`

Doesn’t work.

This seems to do the trick:


require "http/server"

cmd = `cmd /c start chrome --new-window --app=http://127.0.0.1:8080`


server = HTTP::Server.new do |context|
  context.response.content_type = "text/plain"
  context.response.print "Hello world, got #{context.request.path}!"
end

# puts "Listening on http://127.0.0.1:8080"
server.listen(8080)