【发布时间】:2012-03-25 01:25:18
【问题描述】:
我刚刚从 rvm 切换到 rbenv,我正在尝试使用 bundler 进行 gem 管理。在运行bundle install 并尝试运行一个简单的 sinatra 应用程序 (ruby app.rb) 后,我得到了这个:
Could not find haml-3.1.4 in any of the sources
Run `bundle install` to install missing gems.
再次运行bundle install 没有任何效果。还按照另一个问题回复的建议尝试了bundle update。
这是我的 Gemfile:
source "http://rubygems.org"
gem "sinatra"
gem "haml"
这就是bundle show 产生的结果
* bundler (1.0.22)
* haml (3.1.4)
* rack (1.4.1)
* rack-protection (1.2.0)
* sinatra (1.3.2)
* tilt (1.3.3)
这是我的应用所需要的:
require "rubygems"
require "bundler/setup"
require 'sinatra'
我确信这是某种路径问题,其中 bundler 和 rbenv 无法配合使用。我尝试过浏览 rbenv 的文档,但找不到任何东西。
注意:在另一个 sinatra 应用程序中,我在尝试运行它时得到以下信息:
Could not find addressable-2.2.7 in any of the sources
Run `bundle install` to install missing gems.
补充信息
echo $PATH/Users/uri/.rbenv/shims:/Users/uri/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
which bundle/Users/uri/.rbenv/shims/bundle
更新
如果我这样做bundle install --system,它会起作用。虽然我不认为这是一个可行的解决方案。
【问题讨论】:
-
你的
PATH是什么,which bundle的输出是什么? -
我将此信息添加到我原来的问题中。
-
三年后...同样的问题。这很可悲,ruby 的整个包/依赖管理环境感觉就像一个巨大的 hack。
标签: ruby sinatra bundler rbenv