Giter Site home page Giter Site logo

heroku-local's Introduction

heroku-local Circle CI

Code Climate npm version License

js-standard-style

Run heroku apps locally. This plugin is built into the Heroku Toolbelt, you do not need to install it separately.

To use:

$ heroku local
12:47:17 PM web.1 | listening on 3000

This command internally uses node-foreman to run the app locally.

Commands

heroku local [PROCESSNAME]

run heroku app locally

USAGE
  $ heroku local [PROCESSNAME]

OPTIONS
  -e, --env=env            location of env file (defaults to .env)
  -f, --procfile=procfile  use a different Procfile
  -p, --port=port          port to listen on

DESCRIPTION
  Start the application specified by a Procfile (defaults to ./Procfile)

EXAMPLES
  $ heroku local
  $ heroku local web
  $ heroku local web=2
  $ heroku local web=1,worker=2

heroku local:run

run a one-off command

USAGE
  $ heroku local:run

OPTIONS
  -e, --env=env
  -p, --port=port

EXAMPLES
  $ heroku local:run bin/migrate

heroku local:start [PROCESSNAME]

run heroku app locally

USAGE
  $ heroku local:start [PROCESSNAME]

OPTIONS
  -e, --env=env            location of env file (defaults to .env)
  -f, --procfile=procfile  use a different Procfile
  -p, --port=port          port to listen on

DESCRIPTION
  Start the application specified by a Procfile (defaults to ./Procfile)

EXAMPLES
  $ heroku local
  $ heroku local web
  $ heroku local web=2
  $ heroku local web=1,worker=2

heroku local:version

display node-foreman version

USAGE
  $ heroku local:version

heroku-local's People

Contributors

jdx avatar karatecowboy avatar paulomcnally avatar rasphilco avatar svc-scm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

heroku-local's Issues

heroku local:run regression with specifying custom .env

I have an issue running a one-off local process and specifying a custom .env file. This has been working for me for months and all of a sudden today stopped working so I'm not sure why.

The following does not work anymore:

heroku local:run <script> -e .env.test

Output (not expected):

[OKAY] Loaded ENV .env File as KEY=VALUE Format

The follow does still work

heroku local:start web=1,worker=1 -e .env.test

Output (expected):

[OKAY] Loaded ENV .env.test File as KEY=VALUE Format

Also, I don't recall updating heroku toolbelt today so I'm quite confused as to how the util could have changed behaviour. Any help is much appreciated!

When you do heroku local:run rails c and then press ctrl+c everything gets screwed up

First, the expected behaviour we're all used to. Runing rails c "normally", without heroku local:run it behaves like this regaring ctrl+c:
rails_c_flow

However, with heroku local:run rails c I get this behaviour:

heroku_rails_c_ctrlc

And then when I next press any key the result is this stack trace:

Error: Input/output error - read
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `block in input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:197:in `input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:183:in `block in read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:170:in `read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:98:in `read'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:68:in `block in repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `loop'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `block in start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:15:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/pry_class.rb:169:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
[1] pry(main)> Error: Input/output error - read
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `block in input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:197:in `input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:183:in `block in read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:170:in `read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:98:in `read'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:68:in `block in repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `loop'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `block in start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:15:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/pry_class.rb:169:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
[1] pry(main)> Error: Input/output error - read
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `block in input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:197:in `input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:183:in `block in read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:170:in `read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:98:in `read'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:68:in `block in repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `loop'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `block in start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:15:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/pry_class.rb:169:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
[1] pry(main)> Error: Input/output error - read
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `block in input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:197:in `input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:183:in `block in read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:170:in `read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:98:in `read'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:68:in `block in repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `loop'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `block in start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:15:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/pry_class.rb:169:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
[1] pry(main)> Error: Input/output error - read
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:198:in `block in input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:197:in `input_readline'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:183:in `block in read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:170:in `read_line'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:98:in `read'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:68:in `block in repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `loop'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:67:in `repl'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `block in start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:38:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/repl.rb:15:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/pry-0.10.2/lib/pry/pry_class.rb:169:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/Users/timo/.rvm/gems/ruby-2.3.0@api/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
FATAL: Pry failed to get user input using `Readline`.
To fix this you may be able to pass input and output file descriptors to pry directly. e.g.
  Pry.config.input = STDIN
  Pry.config.output = STDOUT
  binding.pry

And nothing I type appears on the terminal. Typing blindly reset and pressing enter fixes the terminal, but of course the rails c pry session is long gone.

Tested with iterm2 and as well as the default mac terminal.

getting error while trying to run heroku local.

[OKAY] Loaded ENV .env File as KEY=VALUE Format
11:40:11 AM console.1 | 'target' is not recognized as an internal or external c
ommand,
11:40:11 AM console.1 | operable program or batch file.
11:40:11 AM web.1 | 'target' is not recognized as an internal or external co
mmand,
11:40:11 AM web.1 | operable program or batch file.
[DONE] Killing all processes with signal null
11:40:11 AM console.1 Exited with exit code 1
11:40:11 AM web.1 Exited with exit code 1

Blank lines are not printed

heroku local doesn't print blank lines that are logged to STDOUT in its child processes. This makes debugging the formatting of plain text emails in Rails hard. Foreman used to have the same problem but the bug got fixed while foreman was still the recommended way to develop heroku apps locally.

How to reproduce

In an empty directory, create the following Procfile:

# Procfile

test: printf "hello\n\nworld\n"

and then run heroku local

Expected results

[WARN] No ENV file found
11:51:25 test.1   |  hello
11:51:25 test.1   |
11:51:25 test.1   |  world
11:51:25 test.1   Exited Successfully

Actual results

[WARN] No ENV file found
11:51:25 test.1   |  hello
11:51:25 test.1   |  world
11:51:25 test.1   Exited Successfully

heroku local failed

Hi I am trying to use the command "heroku local web". However, I obtained the following error message. I am totally new to this. Could someone help me here? Thank you.

[WARN] No ENV file found
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5172] [INFO] Starting gunicorn 19.6.0
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5172] [INFO] Listening at: http://0.0.0.0:5000 (5172)
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5172] [INFO] Using worker: sync
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5175] [INFO] Booting worker with pid: 5175
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5175] [ERROR] Exception in worker process
7:30:56 AM web.1 | Traceback (most recent call last):
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/venv/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
7:30:56 AM web.1 | worker.init_process()
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/venv/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
7:30:56 AM web.1 | self.load_wsgi()
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/venv/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
7:30:56 AM web.1 | self.wsgi = self.app.wsgi()
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/venv/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
7:30:56 AM web.1 | self.callable = self.load()
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/venv/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
7:30:56 AM web.1 | return self.load_wsgiapp()
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/venv/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
7:30:56 AM web.1 | return util.import_app(self.app_uri)
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/venv/lib/python2.7/site-packages/gunicorn/util.py", line 357, in import_app
7:30:56 AM web.1 | import(module)
7:30:56 AM web.1 | File "/Users/achimnyswallow/Documents/Data_Incubator/flask-demo/app.py", line 1
7:30:56 AM web.1 | <<<<<<< HEAD
7:30:56 AM web.1 | ^
7:30:56 AM web.1 | SyntaxError: invalid syntax
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5175] [INFO] Worker exiting (pid: 5175)
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5172] [INFO] Shutting down: Master
7:30:56 AM web.1 | [2016-06-05 07:30:56 -0400] [5172] [INFO] Reason: Worker failed to boot.
[DONE] Killing all processes with signal null
7:30:56 AM web.1 Exited with exit code 3

Gracefully stopping all workers on window resize in development

In development resizing the command prompt window causes the wokers to stop.

Not sure if the the root cause of this problem is heroku-local, or is it a unicorn or Resque issue. I only see it happen when using heroku local.

10:34:18 PM web.1 |  I, [2016-04-22T22:34:18.403551 #70207]  INFO -- : gracefully stopping all workers
10:34:18 PM web.1 |  I, [2016-04-22T22:34:18.529845 #70207]  INFO -- : gracefully stopping all workers
10:34:18 PM web.1 |  I, [2016-04-22T22:34:18.743480 #70207]  INFO -- : gracefully stopping all workers
10:34:19 PM web.1 |  I, [2016-04-22T22:34:19.207974 #70207]  INFO -- : reaped #<Process::Status: pid 70272 exit 0> worker=1
10:34:19 PM web.1 |  I, [2016-04-22T22:34:19.208095 #70207]  INFO -- : reaped #<Process::Status: pid 70270 exit 0> worker=0
10:34:20 PM web.1 |  I, [2016-04-22T22:34:20.021282 #70207]  INFO -- : gracefully stopping all workers
^C[WARN] Interrupted by User
[DONE] Killing all processes with signal  SIGINT
10:34:18 PM web.1 |  I, [2016-04-22T22:34:18.403551 #70207]  INFO -- : gracefully stopping all workers
10:34:18 PM web.1 |  I, [2016-04-22T22:34:18.529845 #70207]  INFO -- : gracefully stopping all workers
10:34:18 PM web.1 |  I, [2016-04-22T22:34:18.743480 #70207]  INFO -- : gracefully stopping all workers
10:34:19 PM web.1 |  I, [2016-04-22T22:34:19.207974 #70207]  INFO -- : reaped #<Process::Status: pid 70272 exit 0> worker=1
10:34:19 PM web.1 |  I, [2016-04-22T22:34:19.208095 #70207]  INFO -- : reaped #<Process::Status: pid 70270 exit 0> worker=0
10:34:20 PM web.1 |  I, [2016-04-22T22:34:20.021282 #70207]  INFO -- : gracefully stopping all workers
^C[WARN] Interrupted by User
[DONE] Killing all processes with signal  SIGINT

Any ideas?

heroku local web not working with Node and ClearDB.

We're running an Express/Node/MySql/Sequelize stack and are following the official Heroku Node tutorial. It is successfully deployed, but running heroku local web produces the following:

forego | starting web.1 on port 5000

web.1 | events.js:141

Any help would be greatly appreciated.

Can't kill zombie process

Running heroku local fails with an error.

However, my app mysteriously still runs on 0.0.0.0:5000, and leaves zombies processes that I can't kill.

When I try to restart heroku local it tells me the socket is already in use.

Can you give me any suggestions as to how this could have happened?

Why am I getting an error when I run 'heroku local web'?

I am new to Heroku (and Node.js) and am working through the tutorial Getting Started with Node.js on Heroku

When I type:

heroku local web

I get the following error:

UNKNOWN: spawn UNKNOWN

The Procfile contains this:

web: node index.js

It's the example app given for working through the tutorial. If I run node index.js the app runs just fine on Port 5000.

Any suggestions on where I should look? My Google search hasn't come up with much. I'm running 64-bit Windows 7.

Thanks for any help!

Document concurrency and multiple process types

I know --concurrency is deprecated.

However, you may or may not realise that node-foreman still supports it and so does heroku local:

$ heroku local web=1,worker=2
5:13:52 PM web.1    |  [47645] Puma starting in cluster mode...
5:13:52 PM web.1    |  [47645] * Version 2.11.0 (ruby 1.9.3-p551), codename: Intrepid Squirrel
5:13:52 PM web.1    |  [47645] * Min threads: 1, max threads: 1
5:13:52 PM web.1    |  [47645] * Environment: development
5:13:52 PM web.1    |  [47645] * Process workers: 2
5:13:52 PM web.1    |  [47645] * Preloading application
5:14:10 PM web.1    |  [47645] * Listening on tcp://0.0.0.0:5000
5:14:10 PM worker.1 |  [Worker(host:Bos-MacBook.local pid:47646)] Starting job worker
5:14:10 PM worker.2 |  [Worker(host:Bos-MacBook.local pid:47647)] Starting job worker
5:14:10 PM web.1    |  [47645] Use Ctrl-C to stop
5:14:10 PM web.1    |  [47645] - Worker 0 (pid: 47655) booted, phase: 0
5:14:10 PM web.1    |  [47645] - Worker 1 (pid: 47656) booted, phase: 0

I suggest tweaking the usage examples to include this functionality:

Examples:

  heroku local
  heroku local web
  heroku local web=2
  heroku local web=1,worker=2
  heroku local -f Procfile.test -e .env.test

Probably also could change the deprecation error for --concurrency...

Error downloading forego-0.16.1.exe

I am following the Getting Started on Heroku with Node.js tutorial. On the "Run the app locally" page, I execute "heroku local web" and see:

Downloading forego-0.16.1.exe to C:\Users\Tyler\AppData\Local\heroku... !!! * Error

Please advise.

why am i getting an error for heroku local web - f Procfile.windows ?

Hi, I am new to Heroku and I just started with their first tutorial Getting Started on Heroku with Java. I could implement all the steps successfully but i can't run the app locally. The build was successful.

C:\Users\my\Documents\GitHub\java-getting-started [master โ‰ก]> heroku local web -
f Procfile.windows

[OKAY] Loaded ENV .env File as KEY=VALUE Format
[WARN] ENOENT: no such file or directory, open 'C:\Users\my\Documents\GitHub\jav
a-getting-started\Procfile.windows'
[FAIL] No Procfile and no package.json file found in Current Directory - See her
oku local --help

Can someone please help me with it?
Thank you in advance.

MODULE_NOT_FOUND: Cannot find module 'foreman/lib/procfile.js

After reinstalling heroku with brew (I was on the ruby version of the toolbelt until now), when I run heroku local I get the following error:

    MODULE_NOT_FOUND: Cannot find module 'foreman/lib/procfile.js'

results of heroku version:

    heroku version
    heroku-cli/6.13.11 (darwin-x64) node-v8.3.0

Console output while running locally

Dear all,

please, is there any way to access the console output from console.log() in the node.js code while running on local via : heroku local web?

Thank you

Oliver

SyntaxError: Unexpected token ...

Just installed new heroku toolbelt and running heroku login

Node v - 5.9.1
npm v - 3.7.3

heroku-cli: Installing core plugins.../Users/kos/.heroku/node_modules/heroku-local/commands/run.js:17
  process.argv.push(...context.args);
                    ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:413:25)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/kos/.heroku/node_modules/heroku-local/index.js:8:3)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)

Alias in .bashrc not working in Procfiles

Hi, I opened this issue also on node-foreman.
First of all thanks for you work! I've spent so much time trying to solve this problem that I don't know anymore where to ask.
The problem is simple:

I have this alias in my .bashrc file:
alias python=python3
and I'm using node-foremon in the heroku cli environment with this procfile:
worker: python botcore.py.

When I try to launch that 'worker' it goes to take python2.7 (the default python) so the alias is not working (if I give python in the shell I obviously get python 3). This is due probably to the fact that aliases don't work in non interactive shells.

How can I solve this dilemma?

Killing all processes with signal null

It seems that heroku-local is not able to properly kill all running apps.
When my forward tunnel dies for any reason whatsoever, I get the following output:

17:46:13 tunnel.1   |  0.0.0.0:3000 is now available at: https://mario.fwd.wf
17:46:13 tunnel.1   |  Ctrl-C to stop forwarding
17:46:13 tunnel.1   |  Your tunnel has been disconnected
[DONE] Killing all processes with signal  null
internal/util.js:183
  throw new errors.Error('ERR_UNKNOWN_SIGNAL', signal);
  ^

Error [ERR_UNKNOWN_SIGNAL]: Unknown signal: null
    at convertToValidSignal (internal/util.js:183:9)
    at ChildProcess.kill (internal/child_process.js:373:5)
    at EventEmitter.<anonymous> (/Users/mario/.local/share/heroku/client/node_modules/foreman/lib/proc.js:54:11)
    at emitOne (events.js:120:20)
    at EventEmitter.emit (events.js:210:7)
    at ChildProcess.<anonymous> (/Users/mario/.local/share/heroku/client/node_modules/foreman/lib/proc.js:50:13)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)

The outstanding thing is: [DONE] Killing all processes with signal null.
Any idea how to fix this?

Downloads from a non-organization owned repository, no checks on blob safety

I was looking over how heroku-local goes about downloading forgo to run and noticed that a build gets downloaded from a repository that's not owned by Heroku. Additionally, no checks are done on the downloaded file (such as checking sha signatures etc) and the blob then gets run.

This is insecure. The version of forgo should probably be pinned and the sha signatures of the blobs distributed with the plugin itself (or better yet, the actual blobs). That is my no means unbreakable but provides some very basic checks.

heroku local python version

Somewhat related to #41

Heroku local finds my Python 3.6 executable:

$ heroku local:run python
[WARN] No ENV file found
Python 3.6.0 |Continuum Analytics, Inc.| (default, Dec 23 2016, 13:19:00)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

...but running my app with heroku local still croaks on py3 syntax when I try runtime.txt with:

  • python-3.6
  • python-3.6.0

What else can I try?

Cached node.js server files while running locally

Dear all,

is it possible that while working locally on my source and I run heroku local web command, that the files are either cached, or taken from heroku servers?

Somehow my workflow:

  • git pull
  • node.js server files editing
  • heroku local web (local test)

Does not work. I always have old files running as if the saved changes in node.js were ignored.

Thank you

Oliver

Hostmapping?

What's a feasible way to hostmap to a 'heroku local' server?

Disable output truncation

The switch to node-foreman caused output lines to be truncated at the window width, which is pretty unfriendly to development. I think -w should be passed to node-foreman by default.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.