Supervisord和Ruby:找不到ruby_executable_hooks

时间:2015-09-05 18:37:14

标签: ruby-on-rails server supervisord

我正在尝试配置supervisord来运行我的ruby应用程序。 当我执行./manage.py runserver时,应用程序运行正常 所以我猜这个问题是关于路径的。

这是我得到的错误: /usr/bin/env: ruby_executable_hooks: No existe el fichero o el directorio

这是我的主管conf:

[program:myapp] 
directory=/home/myapp/production
command=/usr/local/rvm/gems/ruby-2.0.0-p451/bin/bundle exec rails server -d
environment=RAILS_ENV="production",PATH="/usr/local/rvm/gems/ruby-2.0.0-p451/bin:/usr/local/rvm/gems/ruby-2.0.0-p451@global/bin:/usr/local/rvm/rubies/ruby-2.0.0-p451/bin:/usr/local/rvm/bin:/u$
autostart=true 
autorestart=true 
user=myuser 
chown=myuser:mygroup
chmod=0660

有人可以在这里检测到错误吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您遇到的问题是需要设置更多环境变量才能使其正常工作。您可以使用CorrelationId (void *value, int classId=0); template<typename TYPE > CorrelationId (const TYPE &smartPtr, void *pointerValue, int classId=0); 检查环境中的ruby变量,然后在主管配置中设置它们。

我使用printenv来获取类似rvm的内容,但是使用红宝石(https://rvm.io/)。

以下是我所拥有的ruby项目的环境变量:

virtualenv

我设置的变量是environment=RAILS_ENV="development",HOME="/home/ubuntu",PATH="/bin:/home/ubuntu/.rvm/gems/ruby-1.9.3-p551/bin:/home/ubuntu/.rvm/gems/ruby-1.9.3-p551@global/bin:/home/ubuntu/.rvm/rubies/ruby-1.9.3-p551/bin",GEM_HOME="/home/ubuntu/.rvm/gems/ruby-1.9.3-p551",GEM_PATH="/home/ubuntu/.rvm/gems/ruby-1.9.3-p551:/home/ubuntu/.rvm/gems/ruby-1.9.3-p551@global",MY_RUBY_HOME="/home/ubuntu/.rvm/rubies/ruby-1.9.3-p551" RAILS_ENVHOMEPATHGEM_HOMEGEM_PATH。也许你不需要所有这些,但你应该检查一下。