0

Heroku の Web サイトのガイドに従って、フォアマンを使用してノード サーバーを実行しました。

http://devcenter.heroku.com/articles/node-js

ノードサーバーを直接ロードすると正常に起動できますが、Procfile で Foreman を使用するとすぐに次のエラーが発生します...

My-MacBook-Air:myDirectory digiguru$ foreman start
13:25:26 web.1     | started with pid 29046
13:25:26 web.1     | /usr/local/foreman/lib/foreman/process.rb:38:in `exec': Permission denied - /usr/local/foreman/bin/runner (Errno::EACCES)
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:38:in `fork_with_io'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:32:in `fork'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:32:in `fork_with_io'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:44:in `run_process'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:19:in `run'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:64:in `with_environment'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:18:in `run'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:17:in `chdir'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/process.rb:17:in `run'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/procfile_entry.rb:17:in `spawn'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/procfile_entry.rb:15:in `map'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/procfile_entry.rb:15:in `spawn'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/engine.rb:63:in `spawn_processes'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/engine.rb:61:in `each'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/engine.rb:61:in `spawn_processes'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/engine.rb:45:in `start'
13:25:26 web.1     |    from /usr/local/foreman/lib/foreman/cli.rb:28:in `start'
13:25:26 web.1     |    from /usr/local/foreman/vendor/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
13:25:26 web.1     |    from /usr/local/foreman/vendor/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
13:25:26 web.1     |    from /usr/local/foreman/vendor/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
13:25:26 web.1     |    from /usr/local/foreman/vendor/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
13:25:26 web.1     |    from /usr/local/foreman/vendor/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
13:25:26 web.1     |    from /usr/bin/foreman:15
13:25:26 web.1     | process terminated
13:25:26 system    | sending SIGTERM to all processes

フォーマンに許可を与えるために私にできることはありますか? 試してみましsudo foreman startたが、役に立ちませんでした。

Ruby バージョン 1.9.3 で実行しています (デフォルトで Lion にインストールされているバージョン 1.8.7 からアップグレードされています)。

アップデート

ruby gems から heruko と foreman をインストールしてsudo foreman start実行すると...@user658619

/Users/digiguru/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find foreman (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
    from /Users/digiguru/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
    from /Users/digiguru/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems.rb:1208:in `gem'
    from /Users/digiguru/.rvm/gems/ruby-1.9.3-p0/bin/foreman:18:in `<main>'

私の環境...

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.15
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-darwin11.2.0]
  - INSTALLATION DIRECTORY: /Users/digiguru/.rvm/gems/ruby-1.9.3-p0
  - RUBY EXECUTABLE: /Users/digiguru/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/digiguru/.rvm/gems/ruby-1.9.3-p0/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /Users/digiguru/.rvm/gems/ruby-1.9.3-p0
     - /Users/digiguru/.rvm/gems/ruby-1.9.3-p0@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
4

3 に答える 3

1

今日も同じ問題が発生しました。heroku-toolbelt.pkg から heroku をインストールしましたか??

gem を使用して、heroku と foreman を再インストールしてみてください。

sudo gem install heroku foreman
于 2012-01-29T07:56:37.557 に答える
0

これを試して。Profile で、

web: node ./bin/www
于 2014-11-19T01:23:37.610 に答える
0

基本的にそれを機能させるために、ルビーと宝石が混在していて、SUDOが必要なものとそうでないものがあるため、残念ながらインストールを台無しにしました。

幸いなことに、インターネットの善良な人々が RVM と呼ばれるツールを使用してこの問題を解決してくれました。

RVM を使用すると、特定のバージョンの ruby​​ から、アプリケーションを実行するために必要な gem の正確なセットに至るまで、完全に自己完結型の専用環境で各プロジェクトをデプロイできます。gem の正確なセットを使用することで、プロジェクト間のバージョンの競合の問題も回避できます。これにより、追跡が困難なエラーや何時間にもわたる脱毛が発生する可能性があります。

http://beginrescueend.com/

最初の RVM のダウンロード

$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

これを行った後、新しいターミナル ウィンドウを開きます。

掃除。妙にインストールされた gem がある場合は、それらを削除することをお勧めします。ルート ディレクトリに移動し、sudo でそれらを削除します。gem listコマンドでそれらすべてを見ることができます

cd 
sudo gem list
sudo gem uninstall foreman heroku

ルビーをインストールします。これは、アプリケーションのサブディレクトリで行う必要があります。私は1.9.3を選びました

cd myApp
rvm install 1.9.3

必要な宝石を追加します。私にとっては、職長とherokuだけでした。

cd myApp
gem install foreman heroku

御馳走を働かせるようだった。

于 2012-01-29T20:02:59.467 に答える