ruby - 使用 upstart 通过 rbenv install ruby​​ 运行 ruby​​ 脚本

标签 ruby bundler rbenv upstart

我想用通过 Rbenv 安装的 Ruby 2.1.1 运行脚本。这是我的新手脚本:

start on runlevel [2345]
stop on runlevel [!2345]

setuid custom_user
setgid custom_user

script
        cd /home/custom_user/application/ && rbenv shell 2.1.1 && bundle exec ruby script.rb
end script

如果我以 custom_user 身份运行该命令,它会完美运行。在 application 目录中,我有 Gemfile

Upstart 给我以下错误消息:script main process (28879) terminated with status 127

最佳答案

解决方法是指定bundle的完整路径:

script
  cd /home/custom_user/application/ && /home/custom_user/.rbenv/shims/bundle exec ruby script.rb
end script

关于ruby - 使用 upstart 通过 rbenv install ruby​​ 运行 ruby​​ 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439745/

相关文章:

ruby - Rhomobile 使用 CSV 或 XML 从外部 Web 服务器插入本地数据库

ruby 正则表达式 : match any . css 文件名不以下划线开头,在任何字符串之前

javascript - 为什么当我请求更多 .js 文件而不是更少时性能会受到影响?

javascript - 向上 : How to use with module bundler?

reactjs - 在 TypeScript React 中导入图像 - "Cannot find module"

ruby-on-rails - rails 服务器和控制台未加载

ruby - rbenv:没有这样的命令 `shell' - 在 16.04 sudo 环境中为每个应用程序/目录配置 RBENV

Ruby 在 Vagrant box 上停止后消失了

ruby - Mongoid 如何知道字符串值和符号值的区别?

ruby - Mongoid 3.1.4 调用 'has_key?' 时未定义方法 'Document.create'