【问题标题】:Installing a forked github gem of Toto安装 Toto 的分叉 github gem
【发布时间】:2011-11-06 11:37:32
【问题描述】:

好的,这可能很简单,但我在尝试让它工作时有点痛苦。

所以我使用的是 gem “Toto”,它是使用“sudo gem install toto”安装的,但我最近发现了一个我宁愿在这里使用的 gem 的分支https://github.com/evaryont/toto

我尝试使用 --source 指定 gem url,但我猜 github 不再支持除了“the list”之外的 gem。然后我尝试下载分叉的源代码并运行“rake build”和“rake install”,这似乎可以很好地创建一个 gem,但是当我将它重新插入 gem 附带的同一个应用程序时,它无法加载。

就这样死了。

    computer:myblog User$ thin start -R config.ru
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- toto (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from config.ru:2
    from /Library/Ruby/Gems/1.8/gems/rack-1.3.0/lib/rack/builder.rb:51:in `instance_eval'
    from /Library/Ruby/Gems/1.8/gems/rack-1.3.0/lib/rack/builder.rb:51:in `initialize'
    from config.ru:1:in `new'
    from config.ru:1

Toto 应用示例

git clone git://github.com/cloudhead/dorothy.git myblog

我也对构建这样的 gem 感到有些沮丧,因为我在 Heroku 上托管,我想确保我也可以在那里使用这个 gem。我想我可能需要解压这个 gem 并将其提交给我的源代码?


更新

我还尝试在我的 Gemfile 中使用带有以下内容的 bundler,但我得到了同样的错误,这是否意味着它只是示例代码和分叉 gem 中的不兼容?

gem "toto", :git => "git://github.com/evaryont/toto.git"

【问题讨论】:

    标签: ruby-on-rails rubygems heroku github gem


    【解决方案1】:

    您是否在 gem 存在的上下文中运行? Bundler 通过克隆源并将其存储在捆绑 gem 的特殊目录中来处理 :git 安装的 gem。它实际上并未安装到您的系统中,并且除非首先运行 bundler,否则它不会运行。

    试试这个:

    bundle exec thin start -R config.ru
    

    【讨论】:

    • 谢谢,据我所知,这似乎工作正常,只是它看起来仍在使用旧的 gem(即使我卸载了它)。但是我认为这只是一个代码问题,目前无法正常工作。一旦确定,我会接受答案。
    猜你喜欢
    • 2016-08-21
    • 2011-02-18
    • 2015-03-09
    • 2011-03-02
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 2011-06-28
    • 2016-06-24
    相关资源
    最近更新 更多