【发布时间】:2014-10-23 05:41:59
【问题描述】:
我正在将我的 rails 项目部署到生产服务器。 ruby 只有 1.9.3 版本(我是在 2.1.2 上开发的),所以 gems 版本几乎没有兼容性问题。此外,我将其中一个 gem 下载到 vendor/gem_name 并在其源代码中进行了必要的修复,因此我需要完全使用我的该 gem 版本,并且如您所知,无法更新它。
在 Gemfile 中
require 'gem_name', :path => 'vendor/gem_name'
所以在将项目克隆到服务器后我运行
bundle install --path vendor/bundle
它在 vendor 文件夹中创建了 bundle 目录,其中包含我需要的 gems 版本。
之后我尝试运行获取脚本以通过命令向数据库填充一些数据
ruby *_fetch.rb
在 *_fetch.rb 内:
require 'gem_name'
它失败并出现错误
您已经激活 gem_name older_version,但您的 Gemfile 需要 gem_name 最新版本。使用 bundle exec 可以解决这个问题。 (宝石::加载错误) 来自 /usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.5/lib/bundler/runtime.rb:19:in `setup'
那么我如何指定脚本来要求我编辑的本地 gem?
【问题讨论】: