代码之家  ›  专栏  ›  技术社区  ›  Scott Watermasysk

使用Bundler从Github安装gem

  •  18
  • Scott Watermasysk  · 技术社区  · 14 年前

    instructions here 使用bundler安装gem的预发布版本。

    “bundle install”输出将gem列为即将安装,但是“gem list”找不到它。

    source :gemcutter
    
    gem 'sinatra', '1.1.0', :git => 'http://github.com/sinatra/sinatra.git'
    gem 'RedCloth', '4.2.3'
    

    这是一个 gist 我的其他示例代码。

    有人让这个场景生效了吗?

    注意:我也在使用RVM(在osx上)。bundle show确实将gem(和依赖项)列为现有的,但是我不能正确地解析它们。

    4 回复  |  直到 14 年前
        1
  •  23
  •   chischaschos    13 年前

    我将查看加载路径,然后从中进一步调试,例如:

    ...(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为您配置加载路径,这意味着您的加载路径中默认不包括所有gem。

    另外,从 bundler git help :

    因为Rubygems缺乏处理git中gem的能力,所以从git存储库安装的任何gem都不会显示在 . 不过,它们在运行之后就可以使用了 Bundler.setup.

    此致,希望能有所帮助

    预计起飞时间

        2
  •  2
  •   marshally    14 年前

    什么是输出 bundle show sinatra

    在我的例子中,sinatra安装在这里:

    /home/marshall/.rvm/gems/ruby-1.8.7-p302@3846859/bundler/gems/sinatra-9cfa74a7f352
    

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

        3
  •  0
  •   zed_0xff    13 年前

    通过bundler安装在Engine Yard上的gem会转到另一个文件夹来隔离它们。

    通常是这样 /data/APP_NAME/shared/bundled_gems

    当然,检查一下 .bundle/config

        4
  •  0
  •   Volte    12 年前

    看起来使用Shotgun和Bundler(仅限于git存储库)有问题。

    如果我用rackup启动我的应用程序,一切都很好。我将进一步调查,然后对其中一个(或两个)项目提交一个bug。