从Github与Bundler安装gem
我正在尝试使用instructions here来安装捆绑软件的预发布版本的gem。从Github与Bundler安装gem
“捆绑安装”输出列出了安装的gem,但“gem list”未能找到它。
我的Gemfile:
source :gemcutter
gem 'sinatra', '1.1.0', :git => 'http://github.com/sinatra/sinatra.git'
gem 'RedCloth', '4.2.3'
这里是一个gist与我的样本代码的其余部分。
有没有人得到这种情况下工作?
注:我也使用RVM(在OS X上)。 bundle show确实将gem(和依赖关系)列为已有,但我无法正确解决它们。
谢谢。
Bundler可能已经在本地安装到您的应用程序。根据操作系统以及您是否使用RVM,这可能会有很大差异。
bundle show sinatra
的输出是什么?
在我的情况,西纳特拉在这里安装:
/home/marshall/.rvm/gems/[email protected]/bundler/gems/sinatra-9cfa74a7f352
西纳特拉不宝石列表中显示,但服务器正常启动,如果我执行rackup
。
束显示:由包包括宝石: * RedCloth(4.2.3) *捆绑(1.0.1) *机架(1.2.1) *屈(1.1.0 9cfa74a) *倾斜(1.1) – 2010-10-02 18:29:03
之前应该提到,我使用的是RVM和OS X.所以我猜这个宝石是存在的,这个需求没有正确解决。 – 2010-10-02 18:33:21
它看起来像使用Shotgun和Bundler(仅限git存储库)存在问题。
如果我使用机架启动我的应用程序,一切都很好。我打算再调查一下,然后提交一个(或两个)项目的bug。
我想看看负载路径,并进一步调试从那里,例如:
...(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>
捆扎机配置为您的负载路径,这意味着不是所有的宝石都包含在默认情况下你的负载路径上。
此外,从bundler git help:
因为RubyGems的缺乏处理从混帐宝石的能力,从一个Git仓库安装任何宝石将不会在宝石列表显示出来。但是,在运行Bundler.setup后,它们将可用。
最好的问候,希望这有助于
ED
宝石通过捆绑安装在Engine Yard的去一个不同的文件夹孤立他们。
通常/data/APP_NAME/shared/bundled_gems
是可以肯定的,请检查您.bundle/config
文件,您的APP文件夹在Engine Yard的
是什么'rackup'的输出? – marshally 2010-10-02 18:37:49