[英]Download all gems and dependancies from github or a seperate server instead of RubyGems?
[英]Gem located on github don't require gems from rubygems
我的Gemfile中有這一行:
gem 'gem_name', '1.0.27', :git => "git@github.com:company/gem_name.git"
gem_name是我構建的一個gem,它存儲在github上,並且在我編寫的一個gem代碼文件中:
require 'cssmin'
(我在gem代碼文件中有更多的gem要求)。
當我在應用程序中運行bundle時,一切正常,並且gem_name正確安裝,但是當我運行rails s
時,出現此錯誤:
無法加載此類文件-CSSMIN
您知道為什么我不能在存儲在github上的gem代碼文件中要求rubygems提供gem嗎?
編寫自己的gem時,應將其所有要求包括在.gemspec
文件中。 這樣, gem
程序可以確保在用戶運行gem install gem_name
時安裝所有依賴gem install gem_name
,並且在運行require 'my_dependency'
行時您的代碼不會崩潰。
如果要在代碼中使用其他庫,則需要兩個部分。 Gemspec文件可確保已安裝依賴項。 當您的代碼運行時, require
語句將其加載。
在這種情況下,您應該在add_runtime_dependency
中使用add_runtime_dependency
方法 。 像這樣:
Gem::Specification.new do |s|
# Required attributes omitted
s.add_runtime_dependency('cssmin') # If you don't care which version is installed
s.add_runtime_dependency('nokogiri', '>= 1.2') # If you want a version greater than or equal to 1.2
s.add_runtime_dependency('kaminari', '~> 1.1') # If you want a version between 1.1 and 1.9.
end
您可以在Rubygems文檔中閱讀有關聲明依賴關系的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.