bpm 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/.gitmodules +0 -0
- data/Gemfile +16 -0
- data/README.md +55 -0
- data/TODO.md +3 -0
- data/bin/bpm +8 -0
- data/bpm.gemspec +41 -0
- data/lib/bpm.rb +18 -0
- data/lib/bpm/cli.rb +6 -0
- data/lib/bpm/cli/base.rb +358 -0
- data/lib/bpm/cli/owner.rb +46 -0
- data/lib/bpm/credentials.rb +36 -0
- data/lib/bpm/default.json +9 -0
- data/lib/bpm/generator.rb +69 -0
- data/lib/bpm/init_generator.rb +43 -0
- data/lib/bpm/libgems_ext.rb +11 -0
- data/lib/bpm/libgems_ext/config_file.rb +33 -0
- data/lib/bpm/libgems_ext/dependency_installer.rb +150 -0
- data/lib/bpm/libgems_ext/installer.rb +39 -0
- data/lib/bpm/libgems_ext/libgems.rb +39 -0
- data/lib/bpm/libgems_ext/spec_fetcher.rb +11 -0
- data/lib/bpm/local.rb +76 -0
- data/lib/bpm/package.rb +277 -0
- data/lib/bpm/pipeline.rb +100 -0
- data/lib/bpm/pipeline/directive_processor.rb +47 -0
- data/lib/bpm/pipeline/generated_asset.rb +68 -0
- data/lib/bpm/pipeline/transport_processor.rb +32 -0
- data/lib/bpm/project.rb +427 -0
- data/lib/bpm/project_generator.rb +34 -0
- data/lib/bpm/remote.rb +104 -0
- data/lib/bpm/repository.rb +18 -0
- data/lib/bpm/server.rb +44 -0
- data/lib/bpm/version.rb +3 -0
- data/spec/cli/add_spec.rb +159 -0
- data/spec/cli/build_spec.rb +87 -0
- data/spec/cli/fetch_spec.rb +135 -0
- data/spec/cli/fetched_spec.rb +52 -0
- data/spec/cli/init_spec.rb +50 -0
- data/spec/cli/list_spec.rb +74 -0
- data/spec/cli/login_spec.rb +110 -0
- data/spec/cli/new_spec.rb +92 -0
- data/spec/cli/owner_spec.rb +114 -0
- data/spec/cli/push_spec.rb +73 -0
- data/spec/cli/remove_spec.rb +84 -0
- data/spec/cli/unpack_spec.rb +72 -0
- data/spec/cli/unyank_spec.rb +73 -0
- data/spec/cli/yank_spec.rb +73 -0
- data/spec/credentials_spec.rb +23 -0
- data/spec/fixtures/badrake-0.8.7.spd +0 -0
- data/spec/fixtures/builder-3.0.0.spd +0 -0
- data/spec/fixtures/bundler-1.1.pre.spd +0 -0
- data/spec/fixtures/coffee-1.0.1.pre.spd +0 -0
- data/spec/fixtures/core-test-0.4.9.spd +0 -0
- data/spec/fixtures/core-test/bin/cot +3 -0
- data/spec/fixtures/core-test/lib/main.js +1 -0
- data/spec/fixtures/core-test/package.json +46 -0
- data/spec/fixtures/core-test/resources/runner.css +1 -0
- data/spec/fixtures/core-test/tests/test.js +1 -0
- data/spec/fixtures/custom_generator-1.0.spd +0 -0
- data/spec/fixtures/custom_generator/lib/main.js +1 -0
- data/spec/fixtures/custom_generator/package.json +12 -0
- data/spec/fixtures/custom_generator/templates/init/project.json +19 -0
- data/spec/fixtures/custom_generator/templates/project/app.js +1 -0
- data/spec/fixtures/custom_generator/templates/project/lib/main.js +0 -0
- data/spec/fixtures/custom_generator/templates/project_generator.rb +20 -0
- data/spec/fixtures/hello_world/LICENSE +19 -0
- data/spec/fixtures/hello_world/README.md +21 -0
- data/spec/fixtures/hello_world/assets/bpm_packages.js +13 -0
- data/spec/fixtures/hello_world/assets/bpm_styles.css +14 -0
- data/spec/fixtures/hello_world/assets/papa-smurf.jpg +0 -0
- data/spec/fixtures/hello_world/hello_world.json +20 -0
- data/spec/fixtures/hello_world/lib/main.js +9 -0
- data/spec/fixtures/hello_world/packages/custom_package/assets/dummy.txt +1 -0
- data/spec/fixtures/hello_world/packages/custom_package/css/sample_styles.css +3 -0
- data/spec/fixtures/hello_world/packages/custom_package/custom_dir/basic-module.js +1 -0
- data/spec/fixtures/hello_world/packages/custom_package/lib/main.js +1 -0
- data/spec/fixtures/hello_world/packages/custom_package/package.json +22 -0
- data/spec/fixtures/hello_world/tests/main-test.js +8 -0
- data/spec/fixtures/highline-1.6.1.spd +0 -0
- data/spec/fixtures/ivory-0.0.1.spd +0 -0
- data/spec/fixtures/jquery-1.4.3.spd +0 -0
- data/spec/fixtures/optparse-1.0.1.spd +0 -0
- data/spec/fixtures/rake-0.8.6.spd +0 -0
- data/spec/fixtures/rake-0.8.7.spd +0 -0
- data/spec/fixtures/simple_hello/assets/bpm_packages.js +1 -0
- data/spec/fixtures/simple_hello/lib/main.js +1 -0
- data/spec/fixtures/spade-0.5.0.spd +0 -0
- data/spec/fixtures/src/README.txt +1 -0
- data/spec/fixtures/src/bundler-1.1.pre/.gitignore +22 -0
- data/spec/fixtures/src/bundler-1.1.pre/CHANGELOG.md +646 -0
- data/spec/fixtures/src/bundler-1.1.pre/ISSUES.md +47 -0
- data/spec/fixtures/src/bundler-1.1.pre/LICENSE +21 -0
- data/spec/fixtures/src/bundler-1.1.pre/README.md +29 -0
- data/spec/fixtures/src/bundler-1.1.pre/UPGRADING.md +103 -0
- data/spec/fixtures/src/bundler-1.1.pre/bin/bundle +20 -0
- data/spec/fixtures/src/bundler-1.1.pre/lib/bundler.js +23 -0
- data/spec/fixtures/src/bundler-1.1.pre/lib/bundler/definition.js +14 -0
- data/spec/fixtures/src/bundler-1.1.pre/lib/bundler/dependency.js +15 -0
- data/spec/fixtures/src/bundler-1.1.pre/lib/bundler/dsl.js +9 -0
- data/spec/fixtures/src/bundler-1.1.pre/lib/bundler/ui.js +6 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/bundle-config.ronn +90 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/bundle-exec.ronn +111 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/bundle-install.ronn +314 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/bundle-package.ronn +59 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/bundle-update.ronn +176 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/bundle.ronn +80 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/gemfile.5.ronn +279 -0
- data/spec/fixtures/src/bundler-1.1.pre/man/index.txt +6 -0
- data/spec/fixtures/src/bundler-1.1.pre/package.json +19 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/bin/cake +0 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/bin/coffee +0 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/lib/coffee.js +0 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/lib/coffee/base.js +0 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/lib/coffee/mocha/chai.js +0 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/package.json +19 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/qunit/coffee/test.js +0 -0
- data/spec/fixtures/src/coffee-1.0.1.pre/qunit/test.js +0 -0
- data/spec/fixtures/src/jquery/lib/main.js +7179 -0
- data/spec/fixtures/src/jquery/package.json +15 -0
- data/spec/fixtures/src/rake-0.8.6/CHANGES +436 -0
- data/spec/fixtures/src/rake-0.8.6/MIT-LICENSE +21 -0
- data/spec/fixtures/src/rake-0.8.6/README +196 -0
- data/spec/fixtures/src/rake-0.8.6/Rakefile +430 -0
- data/spec/fixtures/src/rake-0.8.6/TODO +20 -0
- data/spec/fixtures/src/rake-0.8.6/bin/rake +31 -0
- data/spec/fixtures/src/rake-0.8.6/doc/command_line_usage.rdoc +102 -0
- data/spec/fixtures/src/rake-0.8.6/doc/example/Rakefile1 +38 -0
- data/spec/fixtures/src/rake-0.8.6/doc/example/Rakefile2 +35 -0
- data/spec/fixtures/src/rake-0.8.6/doc/example/a.c +6 -0
- data/spec/fixtures/src/rake-0.8.6/doc/example/b.c +6 -0
- data/spec/fixtures/src/rake-0.8.6/doc/example/main.c +11 -0
- data/spec/fixtures/src/rake-0.8.6/doc/glossary.rdoc +51 -0
- data/spec/fixtures/src/rake-0.8.6/doc/jamis.rb +591 -0
- data/spec/fixtures/src/rake-0.8.6/doc/proto_rake.rdoc +127 -0
- data/spec/fixtures/src/rake-0.8.6/doc/rake.1.gz +0 -0
- data/spec/fixtures/src/rake-0.8.6/doc/rakefile.rdoc +534 -0
- data/spec/fixtures/src/rake-0.8.6/doc/rational.rdoc +151 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/spec/fixtures/src/rake-0.8.6/doc/release_notes/rake-0.8.6.rdoc +55 -0
- data/spec/fixtures/src/rake-0.8.6/install.rb +88 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake.rb +2502 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/alt_system.rb +108 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/classic_namespace.rb +8 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/clean.rb +33 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/contrib/compositepublisher.rb +24 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/contrib/ftptools.rb +153 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/contrib/publisher.rb +75 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/contrib/sshpublisher.rb +47 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/contrib/sys.rb +209 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/gempackagetask.rb +97 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/loaders/makefile.rb +42 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/packagetask.rb +184 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/rake_test_loader.rb +5 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/rdoctask.rb +209 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/ruby182_test_unit_fix.rb +23 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/runtest.rb +23 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/tasklib.rb +23 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/testtask.rb +161 -0
- data/spec/fixtures/src/rake-0.8.6/lib/rake/win32.rb +55 -0
- data/spec/fixtures/src/rake-0.8.6/package.json +18 -0
- data/spec/fixtures/src/rake-0.8.6/test/capture_stdout.rb +26 -0
- data/spec/fixtures/src/rake-0.8.7/CHANGES +440 -0
- data/spec/fixtures/src/rake-0.8.7/MIT-LICENSE +21 -0
- data/spec/fixtures/src/rake-0.8.7/README +196 -0
- data/spec/fixtures/src/rake-0.8.7/Rakefile +430 -0
- data/spec/fixtures/src/rake-0.8.7/TODO +20 -0
- data/spec/fixtures/src/rake-0.8.7/bin/rake +31 -0
- data/spec/fixtures/src/rake-0.8.7/doc/command_line_usage.rdoc +102 -0
- data/spec/fixtures/src/rake-0.8.7/doc/example/Rakefile1 +38 -0
- data/spec/fixtures/src/rake-0.8.7/doc/example/Rakefile2 +35 -0
- data/spec/fixtures/src/rake-0.8.7/doc/example/a.c +6 -0
- data/spec/fixtures/src/rake-0.8.7/doc/example/b.c +6 -0
- data/spec/fixtures/src/rake-0.8.7/doc/example/main.c +11 -0
- data/spec/fixtures/src/rake-0.8.7/doc/glossary.rdoc +51 -0
- data/spec/fixtures/src/rake-0.8.7/doc/jamis.rb +591 -0
- data/spec/fixtures/src/rake-0.8.7/doc/proto_rake.rdoc +127 -0
- data/spec/fixtures/src/rake-0.8.7/doc/rake.1.gz +0 -0
- data/spec/fixtures/src/rake-0.8.7/doc/rakefile.rdoc +534 -0
- data/spec/fixtures/src/rake-0.8.7/doc/rational.rdoc +151 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.8.6.rdoc +55 -0
- data/spec/fixtures/src/rake-0.8.7/doc/release_notes/rake-0.8.7.rdoc +55 -0
- data/spec/fixtures/src/rake-0.8.7/install.rb +88 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake.rb +2506 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/alt_system.rb +108 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/classic_namespace.rb +8 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/clean.rb +33 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/contrib/compositepublisher.rb +24 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/contrib/ftptools.rb +153 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/contrib/publisher.rb +75 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/contrib/sshpublisher.rb +47 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/contrib/sys.rb +209 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/gempackagetask.rb +97 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/loaders/makefile.rb +42 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/packagetask.rb +184 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/rake_test_loader.rb +5 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/rdoctask.rb +209 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/ruby182_test_unit_fix.rb +23 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/runtest.rb +23 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/tasklib.rb +23 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/testtask.rb +161 -0
- data/spec/fixtures/src/rake-0.8.7/lib/rake/win32.rb +55 -0
- data/spec/fixtures/src/rake-0.8.7/package.json +18 -0
- data/spec/fixtures/src/rake-0.8.7/test/capture_stdout.rb +26 -0
- data/spec/fixtures/src/spade/lib/main.js +1 -0
- data/spec/fixtures/src/spade/package.json +15 -0
- data/spec/fixtures/transporter/lib/main.js +3 -0
- data/spec/fixtures/transporter/packages/transport/lib/wrapper.js +5 -0
- data/spec/fixtures/transporter/packages/transport/package.json +21 -0
- data/spec/fixtures/transporter/transporter.json +18 -0
- data/spec/gauntlet_spec.rb +33 -0
- data/spec/package_spec.rb +319 -0
- data/spec/pipeline_spec.rb +213 -0
- data/spec/project_spec.rb +130 -0
- data/spec/spec_helper.rb +42 -0
- data/spec/support/cli.rb +93 -0
- data/spec/support/env.rb +18 -0
- data/spec/support/fake.rb +53 -0
- data/spec/support/fake_gem_server.rb +72 -0
- data/spec/support/fake_gemcutter.rb +50 -0
- data/spec/support/matchers.rb +32 -0
- data/spec/support/path.rb +63 -0
- data/spec/support/project.rb +43 -0
- data/templates/init/assets/bpm_packages.js +7 -0
- data/templates/init/assets/bpm_styles.css +7 -0
- data/templates/init/project.json +16 -0
- data/templates/project/LICENSE +19 -0
- data/templates/project/README.md +21 -0
- data/templates/project/app.js +1 -0
- data/templates/project/index.html +13 -0
- metadata +627 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Bundler Issues
|
|
2
|
+
|
|
3
|
+
## Troubleshooting
|
|
4
|
+
|
|
5
|
+
Instructions for common Bundler use-cases can be found on the [Bundler documentation site](http://gembundler.com/v1.0/). Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://gembundler.com/man/bundle.1.html).
|
|
6
|
+
|
|
7
|
+
After reading the documentation, try these troubleshooting steps:
|
|
8
|
+
|
|
9
|
+
# remove user-specific gems and git repos
|
|
10
|
+
rm -rf ~/.bundle/ ~/.gem/
|
|
11
|
+
|
|
12
|
+
# remove system-wide git repos and git checkouts
|
|
13
|
+
rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/
|
|
14
|
+
|
|
15
|
+
# remove project-specific settings and git repos
|
|
16
|
+
rm -rf .bundle/
|
|
17
|
+
|
|
18
|
+
# remove project-specific cached .gem files
|
|
19
|
+
rm -rf vendor/cache/
|
|
20
|
+
|
|
21
|
+
# remove the saved resolve of the Gemfile
|
|
22
|
+
rm -rf Gemfile.lock
|
|
23
|
+
|
|
24
|
+
# try to install one more time
|
|
25
|
+
bundle install
|
|
26
|
+
|
|
27
|
+
## Reporting unresolved problems
|
|
28
|
+
|
|
29
|
+
If you are still having problems, please report issues to the [Bundler issue tracker](http://github.com/carlhuda/bundler/issues/).
|
|
30
|
+
|
|
31
|
+
Instructions that allow the Bundler team to reproduce your issue are vitally important. When you report a bug, please create a gist of the following information and include a link in your ticket:
|
|
32
|
+
|
|
33
|
+
- What version of bundler you are using
|
|
34
|
+
- What version of Ruby you are using
|
|
35
|
+
- Whether you are using RVM, and if so what version
|
|
36
|
+
- Your Gemfile
|
|
37
|
+
- Your Gemfile.lock
|
|
38
|
+
- If you are on 0.9, whether you have locked or not
|
|
39
|
+
- If you are on 1.0, the result of `bundle config`
|
|
40
|
+
- The command you ran to generate exception(s)
|
|
41
|
+
- The exception backtrace(s)
|
|
42
|
+
|
|
43
|
+
If you are using Rails 2.3, please also include:
|
|
44
|
+
|
|
45
|
+
- Your boot.rb file
|
|
46
|
+
- Your preinitializer.rb file
|
|
47
|
+
- Your environment.rb file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Portions copyright (c) 2010 Andre Arko
|
|
2
|
+
Portions copyright (c) 2009 Engine Yard
|
|
3
|
+
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
5
|
+
a copy of this software and associated documentation files (the
|
|
6
|
+
"Software"), to deal in the Software without restriction, including
|
|
7
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
8
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
9
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
10
|
+
the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be
|
|
13
|
+
included in all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
20
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Bundler: a gem to bundle gems
|
|
2
|
+
|
|
3
|
+
Bundler is a tool that manages gem dependencies for your ruby application. It
|
|
4
|
+
takes a gem manifest file and is able to fetch, download, and install the gems
|
|
5
|
+
and all child dependencies specified in this manifest. It can manage any update
|
|
6
|
+
to the gem manifest file and update the bundle's gems accordingly. It also lets
|
|
7
|
+
you run any ruby code in context of the bundle's gem environment.
|
|
8
|
+
|
|
9
|
+
### Installation and usage
|
|
10
|
+
|
|
11
|
+
See [gembundler.com](http://gembundler.com) for up-to-date installation and usage instructions.
|
|
12
|
+
|
|
13
|
+
### Troubleshooting
|
|
14
|
+
|
|
15
|
+
For help with common problems, see [ISSUES](http://github.com/carlhuda/bundler/blob/master/ISSUES.md).
|
|
16
|
+
|
|
17
|
+
### Development
|
|
18
|
+
|
|
19
|
+
To see what has changed in recent versions of bundler, see the [CHANGELOG](http://github.com/carlhuda/bundler/blob/master/CHANGELOG.md).
|
|
20
|
+
|
|
21
|
+
The `master` branch contains our current progress towards version 1.1. Because of that, please submit bugfix pull requests against the `1-0-stable` branch.
|
|
22
|
+
|
|
23
|
+
### Upgrading from Bundler 0.8 to 0.9 and above
|
|
24
|
+
|
|
25
|
+
See [UPGRADING](http://github.com/carlhuda/bundler/blob/master/UPGRADING.md).
|
|
26
|
+
|
|
27
|
+
### Other questions
|
|
28
|
+
|
|
29
|
+
Feel free to chat with the Bundler core team (and many other users) on IRC in the [#bundler](irc://irc.freenode.net/bundler) channel on Freenode, or via email on the [Bundler mailing list](http://groups.google.com/group/ruby-bundler).
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
## Bundler 0.9 to 1.0 and above
|
|
2
|
+
|
|
3
|
+
Upgrading from Bundler 0.9 to 1.0 is relatively painless. The
|
|
4
|
+
Gemfile API is the same, so your old Gemfiles should continue
|
|
5
|
+
to work.
|
|
6
|
+
|
|
7
|
+
The "env" file that 0.9 created at `.bundle/environment.rb` has been
|
|
8
|
+
removed. As a side effect of this, Passenger will only find your
|
|
9
|
+
bundled gems if you install with `bundle install --deployment`.
|
|
10
|
+
Alternatively, you can tell Passenger where you gems are installed,
|
|
11
|
+
[something like this](http://bit.ly/passenger-gem-home).
|
|
12
|
+
|
|
13
|
+
The `bundle lock` command is no longer needed, as the
|
|
14
|
+
Gemfile.lock file is now automatically generated by `bundle install`.
|
|
15
|
+
If you have not yet done so, add your Gemfile.lock to source control
|
|
16
|
+
and check it in.
|
|
17
|
+
|
|
18
|
+
Running `bundle install` no longer updates the versions of your gems.
|
|
19
|
+
If you need to update just one gem, run `bundle update GEMNAME`. To
|
|
20
|
+
update all gems to the newest versions possible, run `bundle update`.
|
|
21
|
+
|
|
22
|
+
Bundler now supports multiple platforms, using a block syntax to
|
|
23
|
+
declare platform-specific gems:
|
|
24
|
+
|
|
25
|
+
platform :jruby do
|
|
26
|
+
gem "jruby-maven-plugins"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
Deploying using Bundler is even easier than it was before, as Bundler
|
|
30
|
+
now includes a Capistrano recipe. Simply add this line to the top of
|
|
31
|
+
your deploy.rb file to run Bundler automatically as part of deploying:
|
|
32
|
+
|
|
33
|
+
require 'bundler/capistrano'
|
|
34
|
+
|
|
35
|
+
For more details on deploying using bundler, see the documentation
|
|
36
|
+
for the bundler cap task, and the [documentation on deploying](http://gembundler.com/v1.0/deploying.html).
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## Bundler 0.8 to 0.9 and above
|
|
40
|
+
|
|
41
|
+
Upgrading to Bundler 0.9 from Bundler 0.8 requires upgrading several
|
|
42
|
+
API calls in your Gemfile, and some workarounds if you are using Rails 2.3.
|
|
43
|
+
|
|
44
|
+
### Gemfile Removals
|
|
45
|
+
|
|
46
|
+
Bundler 0.9 removes the following Bundler 0.8 Gemfile APIs:
|
|
47
|
+
|
|
48
|
+
1. `disable_system_gems`: This is now the default (and only) option
|
|
49
|
+
for bundler. Bundler uses the system gems you have specified
|
|
50
|
+
in the Gemfile, and only the system gems you have specified
|
|
51
|
+
(and their dependencies)
|
|
52
|
+
2. `disable_rubygems`: This is no longer supported. We are looking
|
|
53
|
+
into ways to get the fastest performance out of each supported
|
|
54
|
+
scenario, and we will make speed the default where possible.
|
|
55
|
+
3. `clear_sources`: Bundler now defaults to an empty source
|
|
56
|
+
list. If you want to include Rubygems, you can add the source
|
|
57
|
+
via source "http://gemcutter.org". If you use bundle init, this
|
|
58
|
+
source will be automatically added for you in the generated
|
|
59
|
+
Gemfile
|
|
60
|
+
4. `bundle_path`: You can specify this setting when installing
|
|
61
|
+
via `bundle install /path/to/bundle`. Bundler will remember
|
|
62
|
+
where you installed the dependencies to on a particular
|
|
63
|
+
machine for future installs, loads, setups, etc.
|
|
64
|
+
5. `bin_path`: Bundler no longer generates binaries in the root
|
|
65
|
+
of your app. You should use `bundle exec` to execute binaries
|
|
66
|
+
in the current context.
|
|
67
|
+
|
|
68
|
+
### Gemfile Changes
|
|
69
|
+
|
|
70
|
+
Bundler 0.9 changes the following Bundler 0.8 Gemfile APIs:
|
|
71
|
+
|
|
72
|
+
1. Bundler 0.8 supported :only and :except as APIs for describing
|
|
73
|
+
groups of gems. Bundler 0.9 supports a single `group` method,
|
|
74
|
+
which you can use to group gems together. See the above "Group"
|
|
75
|
+
section for more information.
|
|
76
|
+
|
|
77
|
+
This means that `gem "foo", :only => :production` becomes
|
|
78
|
+
`gem "foo", :group => :production`, and
|
|
79
|
+
`only :production { gem "foo" }` becomes
|
|
80
|
+
`group :production { gem "foo" }`
|
|
81
|
+
|
|
82
|
+
The short version is: group your gems together logically, and
|
|
83
|
+
use the available commands to make use of the groups you've
|
|
84
|
+
created.
|
|
85
|
+
|
|
86
|
+
2. `:require_as` becomes `:require`
|
|
87
|
+
|
|
88
|
+
3. `:vendored_at` is fully removed; you should use `:path`
|
|
89
|
+
|
|
90
|
+
### API Changes
|
|
91
|
+
|
|
92
|
+
1. `Bundler.require_env(:environment)` becomes
|
|
93
|
+
`Bundler.require(:multiple, :groups)`. You must
|
|
94
|
+
now specify the default group (the default group is the
|
|
95
|
+
group made up of the gems not assigned to any group)
|
|
96
|
+
explicitly. So `Bundler.require_env(:test)` becomes
|
|
97
|
+
`Bundler.require(:default, :test)`
|
|
98
|
+
|
|
99
|
+
2. `require 'vendor/gems/environment'`: In unlocked
|
|
100
|
+
mode, where using system gems, this becomes
|
|
101
|
+
`Bundler.setup(:multiple, :groups)`. If you don't
|
|
102
|
+
specify any groups, this puts all groups on the load
|
|
103
|
+
path. In locked, mode, it becomes `require '.bundle/environment'`
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env spade
|
|
2
|
+
|
|
3
|
+
// Non-functioning code just for testing
|
|
4
|
+
|
|
5
|
+
# Check if an older version of bundler is installed
|
|
6
|
+
require('bundler')
|
|
7
|
+
|
|
8
|
+
try {
|
|
9
|
+
Bundler.CLI.start();
|
|
10
|
+
} catch(e) {
|
|
11
|
+
if (e instanceof Bundler.BundlerError) {
|
|
12
|
+
Bundler.ui.error(e.message);
|
|
13
|
+
Bundler.ui.debug(e.backtrace.join("\n"));
|
|
14
|
+
exit(e.statusCode);
|
|
15
|
+
} else if (e instanceof Interrupt) {
|
|
16
|
+
Bundler.ui.error("\nQuitting...");
|
|
17
|
+
Bundler.ui.debug e.backtrace.join("\n");
|
|
18
|
+
exit(1);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*globals Bundler ENV WINDOWS */
|
|
2
|
+
|
|
3
|
+
require('rbconfig');
|
|
4
|
+
require('fileutils');
|
|
5
|
+
require('pathname');
|
|
6
|
+
require('yaml');
|
|
7
|
+
require('bundler/rubygems_ext');
|
|
8
|
+
require('bundler/version');
|
|
9
|
+
|
|
10
|
+
Bundler = {
|
|
11
|
+
ORIGINAL_ENV: ENV,
|
|
12
|
+
|
|
13
|
+
Definition: require.autoload('bundler/definition'),
|
|
14
|
+
Dependency: require.autoload('bundler/dependency'),
|
|
15
|
+
Dsl: require.autoload('bundler/dsl'),
|
|
16
|
+
UI: require.autoload('bundler/ui'),
|
|
17
|
+
|
|
18
|
+
WINDOWS: ENV["host_os"].match(/!(msdos|mswin|djgpp|mingw)/),
|
|
19
|
+
FREEBSD: ENV["host_os"].match(/bsd/),
|
|
20
|
+
NULL: WINDOWS ? "NUL" : "/dev/null"
|
|
21
|
+
|
|
22
|
+
};
|
|
23
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require("digest/sha1");
|
|
2
|
+
|
|
3
|
+
Bundler.Definition = {
|
|
4
|
+
|
|
5
|
+
build: function(gemfile, lockfile, unlock) {
|
|
6
|
+
unluck = unlock || {};
|
|
7
|
+
gemfile = Pathname.new(gemfile).expandPath();
|
|
8
|
+
if (!gemfile.file()) {
|
|
9
|
+
throw new GemfileNotFound(gemfile+' not found');
|
|
10
|
+
}
|
|
11
|
+
Dsl.evaluate(gemfile, lockfile, unlock);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require('rubygems/dependency');
|
|
2
|
+
require('bundler/shared_helpers');
|
|
3
|
+
require('bundler/rubygems_ext');
|
|
4
|
+
|
|
5
|
+
Bundler.Dependency = {
|
|
6
|
+
autorequire: false,
|
|
7
|
+
groups: [],
|
|
8
|
+
platforms: [],
|
|
9
|
+
|
|
10
|
+
PLATFORM_MAP = {
|
|
11
|
+
'ruby': 'RUBY',
|
|
12
|
+
'ruby_18': 'RUBY'
|
|
13
|
+
}
|
|
14
|
+
} ;
|
|
15
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require('bundler/dependency');
|
|
2
|
+
|
|
3
|
+
Bundler.Dsl = {
|
|
4
|
+
evaluate: function(gemfile, lockfile, unlock) {
|
|
5
|
+
var builder = new Bundler.Dsl();
|
|
6
|
+
builder.instanceEval(Bundler.readFile(gemfile.toString()), gemfile.toString(), 1);
|
|
7
|
+
builder.toDefinition(lockfile, unlock);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
bundle-config(1) -- Set bundler configuration options
|
|
2
|
+
=====================================================
|
|
3
|
+
|
|
4
|
+
## SYNOPSIS
|
|
5
|
+
|
|
6
|
+
`bundle config` [<name> [<value>]]
|
|
7
|
+
|
|
8
|
+
## DESCRIPTION
|
|
9
|
+
|
|
10
|
+
This command allows you to interact with bundler's configuration system.
|
|
11
|
+
Bundler retrieves its configuration from the local application (`app/.bundle/config`),
|
|
12
|
+
environment variables, and the user's home directory (`~/.bundle/config`),
|
|
13
|
+
in that order of priority.
|
|
14
|
+
|
|
15
|
+
Executing `bundle config` with no parameters will print a list of all
|
|
16
|
+
bundler configuration for the current bundle, and where that configuration
|
|
17
|
+
was set.
|
|
18
|
+
|
|
19
|
+
Executing `bundle config <name>` will print the value of that configuration
|
|
20
|
+
setting, and where it was set.
|
|
21
|
+
|
|
22
|
+
Executing `bundle config <name> <value>` will set that configuration to the
|
|
23
|
+
value specified for all bundles executed as the current user. The configuration
|
|
24
|
+
will be stored in `~/.bundle/config`.
|
|
25
|
+
|
|
26
|
+
## BUILD OPTIONS
|
|
27
|
+
|
|
28
|
+
You can use `bundle config` to give bundler the flags to pass to the gem
|
|
29
|
+
installer every time bundler tries to install a particular gem.
|
|
30
|
+
|
|
31
|
+
A very common example, the `mysql` gem, requires Snow Leopard users to
|
|
32
|
+
pass configuration flags to `gem install` to specify where to find the
|
|
33
|
+
`mysql_config` executable.
|
|
34
|
+
|
|
35
|
+
gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
|
|
36
|
+
|
|
37
|
+
Since the specific location of that executable can change from machine
|
|
38
|
+
to machine, you can specify these flags on a per-machine basis.
|
|
39
|
+
|
|
40
|
+
bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
|
|
41
|
+
|
|
42
|
+
After running this command, every time bundler needs to install the
|
|
43
|
+
`mysql` gem, it will pass along the flags you specified.
|
|
44
|
+
|
|
45
|
+
## CONFIGURATION KEYS
|
|
46
|
+
|
|
47
|
+
Configuration keys in bundler have two forms: the canonical form and the
|
|
48
|
+
environment variable form.
|
|
49
|
+
|
|
50
|
+
For instance, passing the `--without` flag to [bundle install(1)][bundle-install]
|
|
51
|
+
prevents Bundler from installing certain groups specified in the Gemfile(5). Bundler
|
|
52
|
+
persists this value in `app/.bundle/config` so that calls to `Bundler.setup`
|
|
53
|
+
do not try to find gems from the `Gemfile` that you didn't install. Additionally,
|
|
54
|
+
subsequent calls to [bundle install(1)][bundle-install] remember this setting and skip those
|
|
55
|
+
groups.
|
|
56
|
+
|
|
57
|
+
The canonical form of this configuration is `"without"`. To convert the canonical
|
|
58
|
+
form to the environment variable form, capitalize it, and prepend `BUNDLE_`. The
|
|
59
|
+
environment variable form of `"without"` is `BUNDLE_WITHOUT`.
|
|
60
|
+
|
|
61
|
+
## LIST OF AVAILABLE KEYS
|
|
62
|
+
|
|
63
|
+
The following is a list of all configuration keys and their purpose. You can
|
|
64
|
+
learn more about their operation in [bundle install(1)][bundle-install].
|
|
65
|
+
|
|
66
|
+
* `path` (`BUNDLE_PATH`):
|
|
67
|
+
The location on disk to install gems. Defaults to `$GEM_HOME` in development
|
|
68
|
+
and `vendor/bundler` when `--deployment` is used
|
|
69
|
+
* `frozen` (`BUNDLE_FROZEN`):
|
|
70
|
+
Disallow changes to the `Gemfile`. Defaults to `true` when `--deployment`
|
|
71
|
+
is used.
|
|
72
|
+
* `without` (`BUNDLE_WITHOUT`):
|
|
73
|
+
A `:`-separated list of groups whose gems bundler should not install
|
|
74
|
+
* `bin` (`BUNDLE_BIN`):
|
|
75
|
+
Install executables from gems in the bundle to the specified directory.
|
|
76
|
+
Defaults to `false`.
|
|
77
|
+
* `gemfile` (`BUNDLE_GEMFILE`):
|
|
78
|
+
The name of the file that bundler should use as the `Gemfile`. This location
|
|
79
|
+
of this file also sets the root of the project, which is used to resolve
|
|
80
|
+
relative paths in the `Gemfile`, among other things. By default, bundler
|
|
81
|
+
will search up from the current working directory until it finds a
|
|
82
|
+
`Gemfile`.
|
|
83
|
+
|
|
84
|
+
In general, you should set these settings per-application by using the applicable
|
|
85
|
+
flag to the [bundle install(1)][bundle-install] command.
|
|
86
|
+
|
|
87
|
+
You can set them globally either via environment variables or `bundle config`,
|
|
88
|
+
whichever is preferable for your setup. If you use both, environment variables
|
|
89
|
+
will take preference over global settings.
|
|
90
|
+
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
bundle-exec(1) -- Execute a command in the context of the bundle
|
|
2
|
+
================================================================
|
|
3
|
+
|
|
4
|
+
## SYNOPSIS
|
|
5
|
+
|
|
6
|
+
`bundle exec` <command>
|
|
7
|
+
|
|
8
|
+
## DESCRIPTION
|
|
9
|
+
|
|
10
|
+
This command executes the command, making all gems specified in the
|
|
11
|
+
`Gemfile(5)` available to `require` in Ruby programs.
|
|
12
|
+
|
|
13
|
+
Essentially, if you would normally have run something like
|
|
14
|
+
`rspec spec/my_spec.rb`, and you want to use the gems specified
|
|
15
|
+
in the `Gemfile(5)` and installed via [bundle install(1)][bundle-install], you
|
|
16
|
+
should run `bundle exec rspec spec/my_spec.rb`.
|
|
17
|
+
|
|
18
|
+
Note that `bundle exec` does not require that an executable is
|
|
19
|
+
available on your shell's `$PATH`.
|
|
20
|
+
|
|
21
|
+
## BUNDLE INSTALL --BINSTUBS
|
|
22
|
+
|
|
23
|
+
If you use the `--binstubs` flag in [bundle install(1)][bundle-install], Bundler will
|
|
24
|
+
automatically create a directory (which defaults to `app_root/bin`)
|
|
25
|
+
containing all of the executables available from gems in the bundle.
|
|
26
|
+
|
|
27
|
+
After using `--binstubs`, `bin/rspec spec/my_spec.rb` is identical
|
|
28
|
+
to `bundle exec rspec spec/my_spec.rb`.
|
|
29
|
+
|
|
30
|
+
## ENVIRONMENT MODIFICATIONS
|
|
31
|
+
|
|
32
|
+
`bundle exec` makes a number of changes to the shell environment,
|
|
33
|
+
then executes the command you specify in full.
|
|
34
|
+
|
|
35
|
+
* make sure that it's still possible to shell out to `bundle`
|
|
36
|
+
from inside a command invoked by `bundle exec` (using
|
|
37
|
+
`$BUNDLE_BIN_PATH`)
|
|
38
|
+
* put the directory containing executables (like `rails`, `rspec`,
|
|
39
|
+
`rackup`) for your bundle on `$PATH`
|
|
40
|
+
* make sure that if bundler is invoked in the subshell, it uses
|
|
41
|
+
the same `Gemfile` (by setting `BUNDLE_GEMFILE`)
|
|
42
|
+
* add `-rbundler/setup` to `$RUBYOPT`, which makes sure that
|
|
43
|
+
Ruby programs invoked in the subshell can see the gems in
|
|
44
|
+
the bundle
|
|
45
|
+
|
|
46
|
+
It also modifies Rubygems:
|
|
47
|
+
|
|
48
|
+
* disallow loading additional gems not in the bundle
|
|
49
|
+
* modify the `gem` method to be a no-op if a gem matching
|
|
50
|
+
the requirements is in the bundle, and to raise a
|
|
51
|
+
`Gem::LoadError` if it's not
|
|
52
|
+
* Define `Gem.refresh` to be a no-op, since the source
|
|
53
|
+
index is always frozen when using bundler, and to
|
|
54
|
+
prevent gems from the system leaking into the environment
|
|
55
|
+
* Override `Gem.bin_path` to use the gems in the bundle,
|
|
56
|
+
making system executables work
|
|
57
|
+
* Add all gems in the bundle into Gem.loaded_specs
|
|
58
|
+
|
|
59
|
+
### Shelling out
|
|
60
|
+
|
|
61
|
+
When shelling out (using the `system` or backticks methods,
|
|
62
|
+
for example), Bundler's environment changes will propogate to
|
|
63
|
+
the subshell environment. If you desire to shell out without
|
|
64
|
+
Bundler's environment changes, simply employ the `with_clean_env`
|
|
65
|
+
method. It will restore all environment variables to what they
|
|
66
|
+
were before Bundler was activated. For example:
|
|
67
|
+
|
|
68
|
+
Bundler.with_clean_env do
|
|
69
|
+
`brew install wget`
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
## RUBYGEMS PLUGINS
|
|
73
|
+
|
|
74
|
+
At present, the Rubygems plugin system requires all files
|
|
75
|
+
named `rubygems_plugin.rb` on the load path of _any_ installed
|
|
76
|
+
gem when any Ruby code requires `rubygems.rb`. This includes
|
|
77
|
+
executables installed into the system, like `rails`, `rackup`,
|
|
78
|
+
and `rspec`.
|
|
79
|
+
|
|
80
|
+
Since Rubygems plugins can contain arbitrary Ruby code, they
|
|
81
|
+
commonly end up activating themselves or their dependencies.
|
|
82
|
+
|
|
83
|
+
For instance, the `gemcutter 0.5` gem depended on `json_pure`.
|
|
84
|
+
If you had that version of gemcutter installed (even if
|
|
85
|
+
you _also_ had a newer version without this problem), Rubygems
|
|
86
|
+
would activate `gemcutter 0.5` and `json_pure <latest>`.
|
|
87
|
+
|
|
88
|
+
If your Gemfile(5) also contained `json_pure` (or a gem
|
|
89
|
+
with a dependency on `json_pure`), the latest version on
|
|
90
|
+
your system might conflict with the version in your
|
|
91
|
+
Gemfile(5), or the snapshot version in your `Gemfile.lock`.
|
|
92
|
+
|
|
93
|
+
If this happens, bundler will say:
|
|
94
|
+
|
|
95
|
+
You have already activated json_pure 1.4.6 but your Gemfile
|
|
96
|
+
requires json_pure 1.4.3. Consider using bundle exec.
|
|
97
|
+
|
|
98
|
+
In this situation, you almost certainly want to remove the
|
|
99
|
+
underlying gem with the problematic gem plugin. In general,
|
|
100
|
+
the authors of these plugins (in this case, the `gemcutter`
|
|
101
|
+
gem) have released newer versions that are more careful in
|
|
102
|
+
their plugins.
|
|
103
|
+
|
|
104
|
+
You can find a list of all the gems containing gem plugins
|
|
105
|
+
by running
|
|
106
|
+
|
|
107
|
+
ruby -rubygems -e "puts Gem.find_files('rubygems_plugin.rb')"
|
|
108
|
+
|
|
109
|
+
At the very least, you should remove all but the newest
|
|
110
|
+
version of each gem plugin, and also remove all gem plugins
|
|
111
|
+
that you aren't using (`gem uninstall gem_name`).
|