Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用未打包的gem执行二进制gem文件_Ruby On Rails_Rubygems - Fatal编程技术网

Ruby on rails 使用未打包的gem执行二进制gem文件

Ruby on rails 使用未打包的gem执行二进制gem文件,ruby-on-rails,rubygems,Ruby On Rails,Rubygems,我随时都在用宝石 为了更新crontab,它在我的应用程序的根目录中执行where命令 问题是:我的生产环境没有安装gem,所以我将where gem解包到我的应用程序中,从我的应用程序根目录运行“where”无法找到该文件 如何从应用程序的根目录运行冻结的gem可执行文件 我发现 cd #{release_path} && /usr/bin/ruby #{release_path}/script/runner #{release_path}/vendor/gems/whenev

我随时都在用宝石

为了更新crontab,它在我的应用程序的根目录中执行where命令

问题是:我的生产环境没有安装gem,所以我将where gem解包到我的应用程序中,从我的应用程序根目录运行“where”无法找到该文件

如何从应用程序的根目录运行冻结的gem可执行文件

我发现

cd #{release_path} && /usr/bin/ruby #{release_path}/script/runner #{release_path}/vendor/gems/whenever-0.4.1/bin/whenever --update-crontab #{application}

作品;但这似乎是一个“错误”的答案

这就是你想要的答案:

最后,您通常可以将宝石添加到 通过执行以下操作来创建加载路径 在您的环境中。rb:

选项1:使用较少的红宝石添加宝石 environment.rb文件中的代码

为您的应用程序添加其他加载路径 拥有自定义目录config.load\u路径+= %W{RAILS_ROOT}/extras

选项2:使用更多ruby添加宝石 environment.rb文件中的代码

Dir.glob File.expand_路径 {RAILS_ROOT}/vendor/gems/*, 文件。每个文件都有| gem| $:.unshift File.join gem,“lib”结束

选项3:结合使用 备选案文1和2

阅读整个信息,它很有启发性