Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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脚本使用本地gems,而不是普通gems_Ruby_Bundle - Fatal编程技术网

让ruby脚本使用本地gems,而不是普通gems

让ruby脚本使用本地gems,而不是普通gems,ruby,bundle,Ruby,Bundle,我正在将rails项目部署到生产服务器。ruby只有1.9.3版本(我是在2.1.2上开发的),所以在gems版本中几乎没有兼容性问题。此外,我将其中一个gem下载到vendor/gem_name,并对其源代码进行了必要的修复,因此我需要准确地使用该gem的我的版本,正如您所理解的,不可能更新它 归档 require 'gem_name', :path => 'vendor/gem_name' 所以在将项目克隆到服务器之后,我运行 bundle install --path vendor

我正在将rails项目部署到生产服务器。ruby只有1.9.3版本(我是在2.1.2上开发的),所以在gems版本中几乎没有兼容性问题。此外,我将其中一个gem下载到vendor/gem_name,并对其源代码进行了必要的修复,因此我需要准确地使用该gem的我的版本,正如您所理解的,不可能更新它

归档

require 'gem_name', :path => 'vendor/gem_name'
所以在将项目克隆到服务器之后,我运行

bundle install --path vendor/bundle
它在供应商文件夹中创建了bundle目录,其中包含我需要的gems版本

之后,我尝试运行抓取脚本,通过命令用一些数据填充数据库

ruby *_fetch.rb
内部*\u fetch.rb:

require 'gem_name'
它失败了

您已经激活了gem\u name旧版本,但您的Gemfile需要 gem_name最新版本。使用bundle exec可以解决这个问题。(Gem::LoadError) 来自/usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.5/lib/bundler/runtime.rb:19:在“设置”中


那么,我如何指定脚本来要求我编辑的本地gem呢?

使用
bundle exec
运行它,这正是
bundle exec
的用途

我已经试过了bundle exec data_fetch.rb'输出:bundler:未找到命令:zpinfo_fetch.rb使用
bundle安装安装缺少的gem可执行文件运行bundle安装完成,使用'Your bundle is complete!它已安装到./vendor/bundle'您是否尝试过
bundle exec ruby data_fetch.rb