gpt4 book ai didi

ruby - `require' : cannot load such file - Running ruby from bash script

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:46 24 4
gpt4 key购买 nike

我正在尝试在我的 centos 机器上运行一个 ruby​​ 脚本作为服务。我可以直接从命令行和 bash 文件运行 ruby​​ 脚本,没有问题。

但是,当我尝试通过/etc/init.d 将其作为服务运行时,出现错误 'require': cannot load such file -- somegem.

#! /home/user/.rvm/rubies/ruby-2.1.5/bin/ruby
# encoding: utf-8

require "somegem"

我已经创建了一个 init.d 脚本并将其放在/etc/init.d/中

#!/bin/sh
# monitor_endpoint
# chkconfig: 2345 20 80

# Source function library.
. /etc/rc.d/init.d/functions

#Define variables
prog="monitor_endpoint"
exec=/home/user/Workspaces/test/bin/test.rb
echo $exec

start() {
echo -n $"Starting $prog: "
# use daemon to start the service
daemon $exec &
retval=$?
echo
return $retval
}

etc...

这会不会是我的 gems 安装路径有问题?

任何帮助将不胜感激,因为这是我第一次尝试以这种方式运行 ruby​​ 脚本。谢谢。

最佳答案

问题出在您的环境(环境变量)中。运行

env

在正常环境中,然后从初始化脚本运行它并将输出通过管道传输到文件。

看看差异。

我猜你错过了所有 ruby​​ 特定的东西(GEM_PATH 和所有)

关于ruby - `require' : cannot load such file - Running ruby from bash script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29132535/

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