簡體   English   中英

在Gemfile中將git-repo傳遞給gem時,需要gem的問題

[英]Issue with require gem, when passing git-repo to gem in Gemfile

我過去沒有這樣做過,所以我可能會在這里遺漏一些東西。

我在本地更改了'ruby-git'的Gem文件,它運行正常。 在我的Github回購中,我分叉了一個寶石並對它進行了相同的更改。

在構建Sinatra應用程序以將其推送到Heroku時,我更改了Gemfile ,如下所示:

gem 'git', :git => "git://github.com/silverSpoon/ruby-git.git"`  

當我運行bundle install ,我得到了

Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rugged 0.21.0
Using sinatra 1.4.5
Using git 1.2.8 from git://github.com/silverSpoon/ruby-git.git (at master)
Your bundle is complete!
  • 但是,當我說⇒ gem list git ,它不會顯示已安裝的寶石。
  • 當我運行時, ⇒ bundle show git ,它顯示了安裝gem repo的路徑 -
    /Users/jatinganhotra/.rvm/gems/ruby-2.1.3@527website/bundler/gems/ruby-git-c7fb35af1a99
  • 當我運行我的應用程序,或運行irb並執行2.1.3 :001 > require 'git'
    它得到以下錯誤 -
    LoadError: cannot load such file -- git

我在這里想念傻事嗎?

Bundler通過git安裝的Gems的處理方式與普通gem不同

由於Rubygems缺乏從git處理gems的能力,因此從git存儲庫安裝的任何gem都不會顯示在gem list 但是,它們將在運行Bundler.setupBundler.setup

為了使用gem,您需要通過Bundler來完成它。 啟動IRB或您的應用程序時使用bundle exec ,或者在代碼中使用Bundler.setup

$ bundle exec irb
> require 'git' # should work ok

要么:

$ irb
> require 'bundler/setup'
> require 'git' # should also work

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM