使用Bundler从Github安装gem

Sco*_*ysk 18 ruby rubygems sinatra bundler

我正在尝试使用这里说明来安装带有bundler的预发布版本的gem.

"bundle install"输出将gem列为已安装,但"gem list"无法找到它.

我的Gemfile:

source :gemcutter

gem 'sinatra', '1.1.0', :git => 'http://github.com/sinatra/sinatra.git'
gem 'RedCloth', '4.2.3'
Run Code Online (Sandbox Code Playgroud)

这是我的示例代码的其余部分的要点.

有没有人让这个场景奏效?

注意:我也在使用RVM(在OS X上).bundle show会将gem(和依赖项)列为现有的,但我无法正确解析它们.

谢谢.

chi*_*hos 23

我会看一下加载路径,并从那里进一步调试,例如:

...(master) $ irb
irb(main):001:0> $LOAD_PATH.count
=> 8
irb(main):004:0> require 'bundler/setup'
=> true
irb(main):005:0> $LOAD_PATH.count
=> 112
irb(main):006:0> 
Run Code Online (Sandbox Code Playgroud)

Bundler为您配置加载路径,这意味着默认情况下并非所有gem都包含在加载路径中.

另外,从bundler git帮助:

由于Rubygems缺乏从git处理gems的能力,因此从git存储库安装的任何gem都不会显示在gem列表中.但是,它们将在运行Bundler.setup可用.

最好的问候,希望这有帮助

ED


mar*_*lly 2

Bundler 可能已将其安装到您的应用程序本地。这可能会有很大差异,具体取决于操作系统以及您是否使用 RVM。

的输出是什么bundle show sinatra

就我而言,sinatra 安装在这里:

/home/marshall/.rvm/gems/ruby-1.8.7-p302@3846859/bundler/gems/sinatra-9cfa74a7f352
Run Code Online (Sandbox Code Playgroud)

Sinatra 没有显示在 gems 列表中,但如果我执行 ,服务器会正​​确启动rackup