I'm on Ubuntu 10.04, the app that I have to push to Heroku has a Gemfile.lock, this app was developed by another programmer.
When I use bundle install
command, this install the necessary gems for run the app with rails s
.
Does bundle install
take specific gems in my Gemfile or Gemfile.lock?
My Gemfile and Gemfile.lock are not the same.
Do I have to remove Gemfile.lock?
This is my Gemfile:
source 'http://rubygems.org'
#ruby '1.9.3'
gem 'rails', "= 3.1.11"
#gem "rake", "= 0.8.7"
gem 'racc'
# gem 'sqlite3'
#gem 'acts_as_list', '>= 0.1.0'
#gem 'acts_as_tree'
gem 'paperclip'
gem 'aws-s3', :require => 'aws/s3'
gem 'aws-sdk'
gem 'gravatar_image_tag'
gem 'kaminari'
gem 'jquery-rails', '~> 2.1'
gem 'RedCloth', '>= 3.301'
gem 'carmen', :git => 'git://github.com/alvatarc/carmen.git', :branch => '0.2.x'
#gem 'carmen'
gem 'sass-rails'
gem 'http_accept_language'
gem 'right_aws'
gem 'exception_notification'
group :development do
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'rspec-rails', '= 2.7.0'
gem 'rspec-core', '= 2.7.1'
gem 'rspec'
#gem 'annotate-models'
gem 'faker'
gem 'therubyracer'
end
group :test do
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'rspec-rails', '= 2.7.0'
gem 'rspec-core', '= 2.7.1'
gem 'rspec'
gem 'webrat'
gem 'spork', '= 0.9.0.rc9'
gem 'factory_girl_rails'
end
group :production do
gem 'pg'
gem 'uglifier'
end
# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
# gem 'ruby-debug'
# gem 'ruby-debug19', :require => 'ruby-debug'
This is my Gemfile.lock:
GIT
remote: git://github.com/alvatarc/carmen.git
revision: af7bcd574e2f0ed6d59b46662a8be939a1e083c0
branch: 0.2.x
specs:
carmen (0.2.13)
GEM
remote: http://rubygems.org/
specs:
RedCloth (4.2.9)
actionmailer (3.1.11)
actionpack (= 3.1.11)
mail (~> 2.3.3)
actionpack (3.1.11)
activemodel (= 3.1.11)
activesupport (= 3.1.11)
builder (~> 3.0.0)
erubis (~> 2.7.0)
i18n (~> 0.6)
rack (~> 1.3.6)
rack-cache (~> 1.2)
rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
sprockets (~> 2.0.4)
activemodel (3.1.11)
activesupport (= 3.1.11)
builder (~> 3.0.0)
i18n (~> 0.6)
activerecord (3.1.11)
activemodel (= 3.1.11)
activesupport (= 3.1.11)
arel (~> 2.2.3)
tzinfo (~> 0.3.29)
activeresource (3.1.11)
activemodel (= 3.1.11)
activesupport (= 3.1.11)
activesupport (3.1.11)
multi_json (~> 1.0)
arel (2.2.3)
aws-s3 (0.6.3)
builder
mime-types
xml-simple
aws-sdk (1.9.2)
json (~> 1.4)
nokogiri (>= 1.4.4)
uuidtools (~> 2.1)
builder (3.0.4)
climate_control (0.0.3)
activesupport (>= 3.0)
cocaine (0.5.1)
climate_control (>= 0.0.3, < 1.0)
diff-lcs (1.1.3)
erubis (2.7.0)
exception_notification (3.0.1)
actionmailer (>= 3.0.4)
execjs (1.4.0)
multi_json (~> 1.0)
factory_girl (4.2.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.2.1)
factory_girl (~> 4.2.0)
railties (>= 3.0.0)
faker (1.1.2)
i18n (~> 0.5)
gravatar_image_tag (1.1.3)
hike (1.2.2)
http_accept_language (1.0.2)
i18n (0.6.4)
jquery-rails (2.2.1)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.7.7)
kaminari (0.14.1)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
libv8 (3.11.8.17)
mail (2.3.3)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.23)
multi_json (1.7.2)
nokogiri (1.5.9)
paperclip (3.4.1)
activemodel (>= 3.0.0)
activerecord (>= 3.0.0)
activesupport (>= 3.0.0)
cocaine (~> 0.5.0)
mime-types
pg (0.15.1)
polyglot (0.3.3)
racc (1.4.9)
rack (1.3.10)
rack-cache (1.2)
rack (>= 0.4)
rack-mount (0.8.3)
rack (>= 1.0.0)
rack-ssl (1.3.3)
rack
rack-test (0.6.2)
rack (>= 1.0)
rails (3.1.11)
actionmailer (= 3.1.11)
actionpack (= 3.1.11)
activerecord (= 3.1.11)
activeresource (= 3.1.11)
activesupport (= 3.1.11)
bundler (~> 1.0)
railties (= 3.1.11)
railties (3.1.11)
actionpack (= 3.1.11)
activesupport (= 3.1.11)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (10.0.4)
rdoc (3.12.2)
json (~> 1.4)
ref (1.0.4)
right_aws (3.0.5)
right_http_connection (>= 1.2.5)
right_http_connection (1.3.0)
rspec (2.7.0)
rspec-core (~> 2.7.0)
rspec-expectations (~> 2.7.0)
rspec-mocks (~> 2.7.0)
rspec-core (2.7.1)
rspec-expectations (2.7.0)
diff-lcs (~> 1.1.2)
rspec-mocks (2.7.0)
rspec-rails (2.7.0)
actionpack (~> 3.0)
activesupport (~> 3.0)
railties (~> 3.0)
rspec (~> 2.7.0)
sass (3.2.8)
sass-rails (3.1.7)
actionpack (~> 3.1.0)
railties (~> 3.1.0)
sass (>= 3.1.10)
tilt (~> 1.3.2)
spork (0.9.0.rc9)
sprockets (2.0.4)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.7)
sqlite3-ruby (1.3.3)
sqlite3 (>= 1.3.3)
therubyracer (0.11.4)
libv8 (~> 3.11.8.12)
ref
thor (0.14.6)
tilt (1.3.7)
treetop (1.4.12)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.37)
uglifier (2.0.1)
execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2)
uuidtools (2.1.3)
webrat (0.7.3)
nokogiri (>= 1.2.0)
rack (>= 1.0)
rack-test (>= 0.5.3)
xml-simple (1.1.2)
PLATFORMS
ruby
DEPENDENCIES
RedCloth (>= 3.301)
aws-s3
aws-sdk
carmen!
exception_notification
factory_girl_rails
faker
gravatar_image_tag
http_accept_language
jquery-rails (~> 2.1)
kaminari
paperclip
pg
racc
rails (= 3.1.11)
right_aws
rspec
rspec-core (= 2.7.1)
rspec-rails (= 2.7.0)
sass-rails
spork (= 0.9.0.rc9)
sqlite3-ruby
therubyracer
uglifier
webrat
You should always include your Gemfile. lock if you are writing an application. The community seems to (largely) agree that you should include it in any Gems you create as well.
The Gemfile. lock allows you to specify the versions of the dependencies that your application needs in the Gemfile , while remembering all of the exact versions of third-party code that your application used when it last worked correctly.
Important! Gemfile. lock is automatically generated when you run bundle install or bundle update . It should never be edited manually.
Your gemfile is a list of all gems that you want to include in the project. It is used with bundler (also a gem) to install, update, remove and otherwise manage your used gems. These gems belong to development environment and the test environment since they are for testing the application.
Does
bundle install
take specific gems in my Gemfile or Gemfile.lock?
bundle install
looks first into gemfile.lock, then looks into gemfile to generate a valid gem list, checks, tries to resolve the dependencies, and then install/update the gems.
My Gemfile and Gemfile.lock are not the same.
They don't need to be the same. gemfile.lock is a specific file to keep the gems' state at the time of running bundle install/update
.
Do I have to remove Gemfile.lock?
You can, but then bundle install
will generate gemfile.lock again. Then, you could really lose and break all gem dependencies, and might need to resolve them manually.
As an investigation procedure, you can copy old gemfile.lock to a secluded place, then regenerate gemfile.lock, and compare both with diff
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With