当我尝试启动chef-solr作为服务时,它失败并出现以下错误
# service chef-solr start
Starting chef-solr: /usr/bin/env: ruby_noexec_wrapper: No such file or directory
[FAILED]
但是当我从命令行手动运行它时,它已成功运行
# chef-solr -d -c /etc/chef/solr.rb -L /var/log/chef/solr.log -P /var/run/chef/solr.pid
# echo $?
0
# ps -ef | grep chef
root 2691 1 12 04:19 ? 00:00:01 java -Xmx256M -Xms256M -Dsolr.data.dir=/var/lib/chef/solr/data -Dsolr.solr.home=/var/lib/chef/solr/home -jar /var/lib/chef/solr/jetty/start.jar
这是我的rvm信息
# rvm info
ruby-1.9.3-p194:
system:
uname: "Linux Console 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux"
bash: "/bin/bash => GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)"
zsh: " => not installed"
rvm:
version: "rvm 1.15.6 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
updated: "7 hours 1 minute 51 seconds ago"
ruby:
interpreter: "ruby"
version: "1.9.3p194"
date: "2012-04-20"
platform: "x86_64-linux"
patchlevel: "2012-04-20 revision 35410"
full_version: "ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]"
homes:
gem: "/usr/local/rvm/gems/ruby-1.9.3-p194"
ruby: "/usr/local/rvm/rubies/ruby-1.9.3-p194"
binaries:
ruby: "/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby"
irb: "/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/irb"
gem: "/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/gem"
rake: "/usr/local/rvm/gems/ruby-1.9.3-p194/bin/rake"
environment:
PATH: "/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/usr/lib64/qt-3.3/bin:/usr/java/default/bin:/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/usr/bin:/root/bin"
GEM_HOME: "/usr/local/rvm/gems/ruby-1.9.3-p194"
GEM_PATH: "/usr/local/rvm/gems/ruby-1.9.3-p194:/usr/local/rvm/gems/ruby-1.9.3-p194@global"
MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p194"
IRBRC: "/usr/local/rvm/rubies/ruby-1.9.3-p194/.irbrc"
RUBYOPT: ""
gemset: ""
以下是相应的环境变量
declare -x GEM_HOME="/usr/local/rvm/gems/ruby-1.9.3-p194"
declare -x GEM_PATH="/usr/local/rvm/gems/ruby-1.9.3-p194:/usr/local/rvm/gems/ruby-1.9.3-p194@global"
declare -x IRBRC="/usr/local/rvm/rubies/ruby-1.9.3-p194/.irbrc"
declare -x MY_RUBY_HOME="/usr/local/rvm/rubies/ruby-1.9.3-p194"
declare -x PATH="/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/usr/lib64/qt-3.3/bin:/usr/java/default/bin:/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/usr/bin:/root/bin"
declare -x RUBY_VERSION="ruby-1.9.3-p194"
如何解决此问题?
答案 0 :(得分:24)
确保所有变量都设置正确,尤其是PATH
和GEM_PATH
,您可以使用此代码为您设置环境:
source /usr/local/rvm/environments/ruby-1.9.3-p194
在chef-solr
运行
答案 1 :(得分:4)
我的问题很相似,我的答案也是如此:
我的问题是
Permission denied - /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper
ruby_noexec_wrapper在ruby-1.9.3-p194@global
不在列出的路径中
我的解决方案是
source /usr/local/rvm/environments/ruby-1.9.3-p194@global
我赞成mpapis,因为他的答案对于找到我的答案至关重要。随意支持他而不是我。只需添加一个额外的答案,尝试并帮助任何有类似问题的人。
答案 2 :(得分:1)
答案与厨师无关,但将来可能会有所帮助。
我有一个类似的问题,但是因为我正在按照教程在RVM中设置精简版。我通过使用RVM为瘦服务生成的包装器来修复
/home/thin/.rvm/bin/bootup_thin
因此在init脚本中更改了行
DAEMON=/home/thin/.rvm/gems/ree-1.8.7-2012.02/bin/thin
到
DAEMON=/home/thin/.rvm/bin/bootup_thin
答案 3 :(得分:0)
答案 4 :(得分:0)
我在mac上安装ruby 2.0后遇到了这个问题。部分原因是我安装了最新的rvm
rvm get stable
然后我开始收到此错误。也许我在此之后运行了一些原始的宝石。
无论如何,对我来说,这很有效。警告!如果按照我的方式继续操作,那么有问题的红宝石的宝石将被完全删除并重建。也许你想要一个新的备份?但这就是锤子。
# WARNING!!! THIS RECIPE IS POTENTIALLY DESTRUCTIVE!
rvm remove ruby-1.9.3-p194 # this will remove the gemsets for this version as well
rvm install ruby-1.9.3-p194 # time for coffee
rvm use ruby-1.9.3-p194
rvm gemset create aura-rover-config # my gemset name
rvm use ruby-1.9.3-p194@aura-rover-config # do I need to do this? Can't 'member
bundle
# now it all works
这个有趣的部分是,我在已安装的宝石中制作的所有小黑客,那些被吹走了。做备份