summaryrefslogtreecommitdiff
path: root/rubygems.html
blob: fac6b895b3a238348d2ae6db5b3c7a2ffda7da54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<!DOCTYPE html>
<html>
  <head>
    <title>Bundler: The best way to manage a Ruby application's gems</title>
    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
    <meta content='276VSYOko8B8vIu1i8i5qbj7_ql5PXo0dU69XQy-SL' name='globalsign-domain-verification'>
    <link href='/images/favicon.png' rel='shortcut icon' type='image/png'>
    <link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <div id='body'>
      <div id='header'>
        <a class="image" href="/"><img width="725" alt="The best way to manage your application's dependencies" src="/images/gembundler.png" /></a>
      </div>
      <div id='container'>
        <div id='contents'>
          <h2>Using Bundler with Rubygem gemspecs</h2>
          <div class='contents'>
            <div class='bullet'>
              <div class='description'>
                If you're creating a gem from scratch, you can use bundler's built in gem skeleton to create a base gem for you to edit.
              </div>
              <div class='how'>
                <pre class="highlight plaintext">$ bundle gem my_gem</pre>
                <div class='notes'>
                  This will create a new directory named <code>my_gem</code> with your new gem skeleton.
                </div>
              </div>
            </div>
            <div class='bullet'>
              <div class='description'>
                If you already have a gem with a gemspec, you can generate a Gemfile for your gem.
              </div>
              <pre class="highlight plaintext">$ bundle init</pre>
              <div class='notes'>
                Then, add the following to your new Gemfile
              </div>
              <pre class="highlight ruby"><span class="n">gemspec</span>&#x000A;</pre>
            </div>
            <div class='bullet'>
              <div class='description'>
                Runtime dependencies in your gemspec are treated like base dependencies, and development dependencies are added by default to the group, <code>:development</code>. You can change that group with the <code>:development_group</code> option
              </div>
              <pre class="highlight ruby"><span class="n">gemspec</span> <span class="ss">:development_group</span> <span class="o">=&gt;</span> <span class="ss">:dev</span>&#x000A;</pre>
            </div>
            <div class='bullet'>
              <div class='description'>
                As well, you can point to a specific gemspec using <code>:path</code>. If your gemspec is in <code>/gemspec/path</code>, use
              </div>
              <pre class="highlight ruby"><span class="n">gemspec</span> <span class="ss">:path</span> <span class="o">=&gt;</span> <span class="s1">'/gemspec/path'</span>&#x000A;</pre>
            </div>
            <div class='bullet'>
              <div class='description'>
                If you have multiple gemspecs in the same directory, specify which one you'd like to reference using <code>:name</code>
              </div>
              <pre class="highlight ruby"><span class="n">gemspec</span> <span class="ss">:name</span> <span class="o">=&gt;</span> <span class="s1">'my_awesome_gem'</span></pre>
              <div class='notes'>
                This will use <code>my_awesome_gem.gemspec</code>
              </div>
            </div>
            <div class='bullet'>
              <div class='description'>
                That's it! Use bundler when developing your gem, and otherwise, use gemspecs normally!
              </div>
              <pre class="highlight plaintext">$ gem build my_gem.gemspec</pre>
            </div>
          </div>
        </div>
        <div id='sidebar'>
          <h2>Would you like to</h2>
          <ul>
            <li><a href="/#getting-started">Get started</a></li>
            <li><a href="/issues.html">Report a bug</a></li>
            <li><a href="/v1.6/whats_new.html">See what's new</a></li>
            <li><a href="/v1.6/man/bundle.1.html">Read documentation</a></li>
            <li><a href="/#get-involved">Discuss and Contribute</a></li>
            <li><a href="/v1.6/faq.html">View FAQs</a></li>
          </ul>
          <div class='shirts'>
            <div class='content'>
              <p>
                Bundler is developed entirely by a team of volunteers.
                <a href="http://www.gittip.com/bundler">Support their work</a>
                and help make Bundler better for everyone.
              </p>
              <p>
                <script data-gittip-username='bundler' src='//gttp.co/v1.js'></script>
                <br>
                <br>
              </p>
            </div>
          </div>
          <h2>Bundler Commands</h2>
          <ul>
            <li><a href="/v1.6/bundle_install.html">bundle install</a></li>
            <li><a href="/v1.6/bundle_update.html">bundle update</a></li>
            <div class='buttons'>
              <a href="/v1.6/commands.html">View all commands</a>
            </div>
          </ul>
          <h2>Help With</h2>
          <ul>
            <li><a href="/v1.6/gemfile.html">Gemfiles</a></li>
            <li><a href="/v1.6/groups.html">Groups</a></li>
            <li><a href="/v1.6/git.html">Gems from git</a></li>
            <li><a href="/v1.6/bundler_setup.html">Bundler.setup</a></li>
            <li><a href="/v1.6/deploying.html">Deploying</a></li>
            <li><a href="/v1.6/bundler_sharing.html">Sharing</a></li>
            <li><a href="/v1.6/updating_gems.html">Updating Gems</a></li>
            <li><a href="/compatibility.html">Compatible versions</a></li>
          </ul>
          <h2>Use Bundler with</h2>
          <ul>
            <li><a href="/v1.6/rails3.html">Rails 3</a></li>
            <li><a href="/v1.6/rails23.html">Rails 2.3</a></li>
            <li><a href="/v1.6/sinatra.html">Sinatra</a></li>
            <li><a href="/v1.6/rubygems.html">Rubygems</a></li>
            <li><a href="/v1.6/rubymotion.html">RubyMotion</a></li>
          </ul>
          <div class='shirts'>
            <div class='content'>
                            <a class="image" onclick="ga('send', 'devswag');" href="http://www.devswag.com/collections/bundler"><img src="/images/bundler-shirt.png" />
              </a>

              <p>
                <a onclick="ga('send', 'devswag');" href="http://www.devswag.com/collections/bundler">Buy Bundler Shirts & Stickers!</a>
              </p>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id='footer'>
      <img src="/images/emocow.png" />
      <img src="/images/panda.jpg" />
      <div class='spacer'></div>
      <div id='credits'>
        <p>
          Many thanks to Bundler's <a href="/contributors.html">contributors</a>
          and <a href="/sponsors.html">sponsors</a>
        </p>
      </div>
      <div class='spacer'></div>
      <img src="/images/bundler-small.png" />
    </div>
    <a href='http://github.com/bundler/bundler/' id='github'>
      <img alt='Fork me on GitHub' src='http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png'>
    </a>
    <div id='prod-versions'>
      Docs:
      <a href="/v0.9/">v0.9</a>
      <a href="/v1.0/">v1.0</a>
      <a href="/v1.1/">v1.1</a>
      <a href="/v1.2/">v1.2</a>
      <a href="/v1.3/">v1.3</a>
      <a href="/v1.5/index.html">v1.5</a>
      <a class="current" href="/">v1.6</a>
    </div>
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
      ga('create', 'UA-39559982-1', 'bundler.io');
      ga('send', 'pageview');
    </script>
  </body>
</html>