瞎扯淡 gitlab 188 个 gem 震撼

kewin · 2013年02月01日 · 最后由 iBachue 回复于 2013年02月01日 · 5353 次阅读

188 个 gem,第一次被震撼了。像个汽车的零件一样

wenchao@kewinwang:~/gitlabhq$ bundle show
Gems included by the bundle:
  * actionmailer (3.2.11)
  * actionpack (3.2.11)
  * activemodel (3.2.11)
  * activerecord (3.2.11)
  * activeresource (3.2.11)
  * activesupport (3.2.11)
  * acts-as-taggable-on (2.3.3)
  * addressable (2.3.2)
  * annotate (2.5.0)
  * arel (3.0.2)
  * awesome_print (1.1.0)
  * backports (2.6.5)
  * bcrypt-ruby (3.0.1)
  * better_errors (0.3.2)
  * binding_of_caller (0.6.8)
  * blankslate (3.1.2)
  * bootstrap-sass (2.2.1.1)
  * builder (3.0.4)
  * bundler (1.1.5)
  * capybara (1.1.3)
  * carrierwave (0.7.1)
  * celluloid (0.12.4)
  * charlock_holmes (0.6.9)
  * childprocess (0.3.6)
  * chosen-rails (0.9.8)
  * code_analyzer (0.3.1)
  * coderay (1.0.8)
  * coffee-rails (3.2.2)
  * coffee-script (2.2.0)
  * coffee-script-source (1.4.0)
  * colored (1.2)
  * colorize (0.5.8)
  * connection_pool (1.0.0)
  * crack (0.3.1)
  * daemons (1.1.9)
  * database_cleaner (0.9.1)
  * devise (2.1.2)
  * diff-lcs (1.1.3)
  * draper (0.18.0)
  * email_spec (1.4.0)
  * erubis (2.7.0)
  * escape_utils (0.2.4)
  * eventmachine (1.0.0)
  * execjs (1.4.0)
  * facter (1.6.17)
  * factory_girl (4.1.0)
  * factory_girl_rails (4.1.0)
  * faraday (0.8.4)
  * faye-websocket (0.4.6)
  * ffaker (1.15.0)
  * ffi (1.1.5)
  * font-awesome-sass-rails (3.0.0.1)
  * foreman (0.60.2)
  * gemoji (1.2.1)
  * gherkin-ruby (0.2.1)
  * git (1.2.5)
  * github-linguist (2.3.4)
  * github-markup (0.7.4)
  * gitlab_meta (4.0)
  * gitlab_omniauth-ldap (1.0.2)
  * gitlab_yaml_db (1.0.0)
  * gitolite (1.1.0)
  * grack (0.0.2)
  * grape (0.2.2)
  * gratr19 (0.4.4.1)
  * grit (2.5.0)
  * grit_ext (0.6.1)
  * growl (1.0.3)
  * guard (1.5.4)
  * guard-rspec (2.1.2)
  * guard-spinach (0.0.2)
  * haml (3.1.7)
  * haml-rails (0.3.5)
  * hashery (1.5.0)
  * hashie (1.2.0)
  * hike (1.2.1)
  * http_parser.rb (0.5.3)
  * httparty (0.9.0)
  * httpauth (0.2.0)
  * i18n (0.6.1)
  * journey (1.0.4)
  * jquery-atwho-rails (0.1.7)
  * jquery-rails (2.1.3)
  * jquery-ui-rails (2.0.2)
  * json (1.7.6)
  * jwt (0.1.5)
  * kaminari (0.14.1)
  * kgio (2.7.4)
  * launchy (2.1.2)
  * letter_opener (1.0.0)
  * libv8 (3.3.10.4)
  * libwebsocket (0.1.6)
  * listen (0.5.3)
  * lumberjack (1.0.2)
  * mail (2.4.4)
  * method_source (0.8.1)
  * mime-types (1.19)
  * modernizr (2.6.2)
  * multi_json (1.5.0)
  * multi_xml (0.5.1)
  * multipart-post (1.1.5)
  * mysql2 (0.3.11)
  * net-ldap (0.2.2)
  * nokogiri (1.5.5)
  * oauth (0.4.7)
  * oauth2 (0.8.0)
  * omniauth (1.1.1)
  * omniauth-github (1.0.3)
  * omniauth-google-oauth2 (0.1.13)
  * omniauth-oauth (1.0.1)
  * omniauth-oauth2 (1.1.1)
  * omniauth-twitter (0.0.14)
  * orm_adapter (0.4.0)
  * pg (0.14.1)
  * poltergeist (1.0.2)
  * polyglot (0.3.3)
  * posix-spawn (0.3.6)
  * progressbar (0.12.0)
  * pry (0.9.10)
  * pygments.rb (0.3.2 db1da03)
  * pyu-ruby-sasl (0.0.3.3)
  * quiet_assets (1.0.1)
  * rack (1.4.3)
  * rack-accept (0.4.5)
  * rack-cache (1.2)
  * rack-mini-profiler (0.1.23)
  * rack-mount (0.8.3)
  * rack-protection (1.3.2)
  * rack-ssl (1.3.2)
  * rack-test (0.6.2)
  * rails (3.2.11)
  * rails-dev-tweaks (0.6.1)
  * rails_best_practices (1.13.2)
  * railties (3.2.11)
  * raindrops (0.10.0)
  * rake (10.0.3)
  * raphael-rails (2.1.1)
  * rb-fsevent (0.9.2)
  * rb-inotify (0.8.8)
  * rdoc (3.12)
  * redcarpet (2.2.2)
  * redis (3.0.2)
  * redis-namespace (1.2.1)
  * rspec (2.12.0)
  * rspec-core (2.12.0)
  * rspec-expectations (2.12.0)
  * rspec-mocks (2.12.0)
  * rspec-rails (2.12.0)
  * rubyntlm (0.1.1)
  * rubyzip (0.9.9)
  * sass (3.2.5)
  * sass-rails (3.2.5)
  * sdoc (0.3.20)
  * seed-fu (2.2.0)
  * selenium-webdriver (2.26.0)
  * settingslogic (2.0.8)
  * sexp_processor (4.1.3)
  * shoulda-matchers (1.3.0)
  * sidekiq (2.6.4)
  * simplecov (0.7.1)
  * simplecov-html (0.7.1)
  * sinatra (1.3.3)
  * six (0.2.0)
  * slim (1.3.6)
  * slop (3.3.3)
  * spinach (0.5.2)
  * spinach-rails (0.1.8)
  * sprockets (2.2.2)
  * stamp (0.3.0)
  * temple (0.5.5)
  * test_after_commit (0.0.1)
  * therubyracer (0.10.2)
  * thin (1.5.0)
  * thor (0.16.0)
  * tilt (1.3.3)
  * timers (1.0.2)
  * treetop (1.4.12)
  * tzinfo (0.3.35)
  * uglifier (1.3.0)
  * unicorn (4.4.0)
  * virtus (0.5.2)
  * warden (1.2.1)
  * webmock (1.9.0)
  * websocket (1.0.2)
  * xpath (0.1.4)
  * yajl-ruby (1.1.0)

震撼不。 我擦!

很多都是依赖,Gemfile 里面实际用了 80 个,ruby-china 也用了差不多 60 个

太吓人了

选择的时候尽量选择依赖关系简单的 gem

一个 rails app 99% 的代码都不是自己写的

205 个飘过

还真没关注过项目依赖的数量,不过看了下自己写的东西,随便个项目,飙升到几十个好像很容易

bundle show | wc -l 153

呵呵 其实有不少是自己写的 Gem 吧 这很好啊 把非核心的逻辑通过 Gem 实现

需要 登录 后方可回复, 如果你还没有账号请 注册新账号