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