gpt4 book ai didi

ruby-on-rails - 尝试加载 gem 'yard' 时出错

转载 作者:行者123 更新时间:2023-12-04 06:15:24 29 4
gpt4 key购买 nike

我正在使用 sidekiq upstart 工作,但在运行时 sudo service sidekiq restart收到以下错误

There was an error while trying to load the gem 'yard'.
/home/ubuntu/.rvm/gems/ruby-2.2.1@myapp/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require'
/home/ubuntu/.rvm/gems/ruby-2.2.1@myapp/gems/bundler-1.11.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
/home/ubuntu/.rvm/gems/ruby-2.2.1@myapp/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each'
/home/ubuntu/.rvm/gems/ruby-2.2.1@myapp/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require'
/home/ubuntu/.rvm/gems/ruby-2.2.1@myapp/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each'
/home/ubuntu/.rvm/gems/ruby-2.2.1@myapp/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require'
/home/ubuntu/.rvm/gems/ruby-2.2.1@myapp/gems/bundler-1.11.2/lib/bundler.rb:99:in `require'
/home/ubuntu/myapp/config/application.rb:8:in `<top (required)>'
/home/ubuntu/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/sidekiq-3.2.5/lib/sidekiq/cli.rb:231:in `require'
/home/ubuntu/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/sidekiq-3.2.5/lib/sidekiq/cli.rb:231:in `boot_system'
/home/ubuntu/.rvm/rubies/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/sidekiq-3.2.5/lib/sidekiq/cli.rb:49:in `run'
/home/ubuntu/.rvm/gems/ruby-2.2.1@global/gems/sidekiq-3.2.5/bin/sidekiq:8:in `<top (required)>'
/home/ubuntu/.rvm/rubies/ruby-2.2.1/bin/sidekiq:23:in `load'
/home/ubuntu/.rvm/rubies/ruby-2.2.1/bin/sidekiq:23:in `<main>'

以下是 Upstart 的工作

/etc/init/sidekiq.conf


# /etc/init/sidekiq.conf - Sidekiq config

# This example config should work with Ubuntu 12.04+. It
# allows you to manage multiple Sidekiq instances with
# Upstart, Ubuntu's native service management tool.
#
# See workers.conf for how to manage all Sidekiq instances at once.
#
# Save this config as /etc/init/sidekiq.conf then manage sidekiq with:
# sudo start sidekiq index=0
# sudo stop sidekiq index=0
# sudo status sidekiq index=0
#
# Hack Upstart's reload command to 'quiet' Sidekiq:
#
# sudo reload sidekiq index=0
#
# or use the service command:
# sudo service sidekiq {start,stop,restart,status}
#

description "Sidekiq Background Worker"

# This script is not meant to start on bootup, workers.conf
# will start all sidekiq instances explicitly when it starts.
start on runlevel [2345]
stop on runlevel [06]

# change to match your deployment user
setuid ubuntu
setgid ubuntu


#respawn
#respawn limit 3 30

# TERM is sent by sidekiqctl when stopping sidekiq. Without declaring these as
# normal exit codes, it just respawns.
normal exit 0 TERM

# Older versions of Upstart might not support the reload command and need
# this commented out.
reload signal USR1

# Upstart waits 5 seconds by default to kill the a process. Increase timeout to
# give sidekiq process enough time to exit.
kill timeout 15

#instance $index

script
# this script runs in /bin/sh by default
# respawn as bash so we can source in rbenv
exec /bin/bash <<'EOT'
# Pick your poison :) Or none if you're using a system wide installed Ruby.

source /home/ubuntu/.bash_profile
source /home/ubuntu/.rvm/scripts/rvm
source /home/ubuntu/.bashrc
# Logs out to /var/log/upstart/sidekiq.log by default

cd /home/ubuntu/myapp/
exec bundle exec sidekiq -C config/sidekiq.yml -e production
EOT
end script

如何让这个工作。我还安装了 gem yard但仍然得到同样的错误。

最佳答案

我遇到了问题,$HOME变量不被认为是在 upstart 工作中定义的。所以~登录 yard.rb gem 文件没有扩展到实际路径。比我在 Upstart 中明确定义变量并使其工作。

关于ruby-on-rails - 尝试加载 gem 'yard' 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37524814/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com