summaryrefslogtreecommitdiff
path: root/v1.5/bundler_sharing.html
diff options
context:
space:
mode:
Diffstat (limited to 'v1.5/bundler_sharing.html')
-rw-r--r--v1.5/bundler_sharing.html121
1 files changed, 0 insertions, 121 deletions
diff --git a/v1.5/bundler_sharing.html b/v1.5/bundler_sharing.html
deleted file mode 100644
index 365008caa1..0000000000
--- a/v1.5/bundler_sharing.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!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 id='sharing'>
- Sharing
- </h2>
- <div class='contents'>
- <div class='bullet'>
- <div class='description'>
- <h3 id='checking-your-code-into-version-control'>
- Checking Your Code into Version Control
- </h3>
- <p>
- After developing your application for a while, check in the application together with the
- <code>Gemfile</code> and <code>Gemfile.lock</code> snapshot. Now, your repository has a
- record of the exact versions of all of the gems that you used the last time you know for
- sure that the application worked. Keep in mind that while your <code>Gemfile</code>
- lists only three gems (with varying degrees of version strictness), your application
- depends on dozens of gems, once you take into consideration all of the implicit
- requirements of the gems you depend on.
- </p>
- </div>
- <p class='description'>
- This is important: <strong>the <code>Gemfile.lock</code> makes your application a single
- package of both your own code and the third-party code it ran the last time you know for
- sure that everything worked</strong>. Specifying exact versions of the third-party code
- you depend on in your <code>Gemfile</code> would not provide the same guarantee, because
- gems usually declare a range of versions for their dependencies.
- </p>
- <p class='description'>
- The next time you run <code>bundle install</code> on the same machine, bundler will see
- that it already has all of the dependencies you need, and skip the installation process.
- </p>
- <p class='description'>
- Do not check in the <code>.bundle</code> directory, or any of the files inside it. Those
- files are specific to each particular machine, and are used to persist installation options
- between runs of the <code>bundle install</code> command.
- </p>
- <p class='description'>
- If you have run <code>bundle pack</code>, the gems (although not the git gems) required
- by your bundle will be downloaded into <code>vendor/cache</code>. Bundler can run without
- connecting to the internet (or the Rubygems server) if all the gems you need are present
- in that folder and checked in to your source control. This is an <strong>optional</strong>
- step, and not recommended, due to the increase in size of your source control repository.
- </p>
- </div>
- <div class='bullet'>
- <h3 id='sharing-your-application-with-other-developers'>
- Sharing Your Application With Other Developers
- </h3>
- <p class='description'>
- When your co-developers (or you on another machine) check out your code, it will come
- with the exact versions of all the third-party code your application used on the machine
- that you last developed on (in the <code>Gemfile.lock</code>). When **they** run
- <code>bundle install</code>, bundler will find the <code>Gemfile.lock</code> and skip
- the dependency resolution step. Instead, it will install all of the same gems that you
- used on the original machine.
- </p>
- <p class='description'>
- In other words, you don't have to guess which versions of the dependencies you should
- install. In the example we've been using, even though <code>rack-cache</code> declares a
- dependency on <code>rack >= 0.4</code>, we know for sure it works with <code>rack
- 1.2.1</code>. Even if the Rack team releases <code>rack 1.2.2</code>, bundler will
- always install <code>1.2.1</code>, the exact version of the gem that we know works. This
- relieves a large maintenance burden from application developers, because all machines
- always run the exact same third-party code.
- </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 class="current" href="/v1.5/index.html">v1.5</a>
- <a 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>