Hi guys i am currently still learning Ruby. Anyway i am on chapter 13 on web application development.I am stuck at this part for ruby script/generate Entry tittle:string content:text
Based on my research i have came across this link:
Why does Ruby "script/generate" return "No such file or directory"?
Apparently i used Rails 3. so this is what happened.I located to my directory i run this command
D:\RubyProjects/Part-3/Chapter-13/rails/mydiary> rails generate scaffold Entry title:string content:text
Now i got this error:
Bundler could not find compatible version for gem "bundler
Current Bundler version: 1.13.2
This Gemfile requires a different version of Bundler.
And i also tried to run this as well:
install bundle,
gem install bundle
Can anyone help me on this?
You need to install bundler.
gem install bundler
and than
bundle install
after this you can generate scaffold
also look this
I tried another command like this:
bundler exec rails g Entry Title:String content:text
Error appeared like this:
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 3.0.1) x64-mingw32 was resolved to 3.0.1, which depends on
bundler (~> 1.0.0) x64-mingw32
Current Bundler version:
bundler (1.13.2)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running gem install bundler?
Could not find gem 'bundler (~> 1.0.0) x64-mingw32', which is required by gem 'rails (= 3.0.1) x64-mingw32', in any of the sources.
I tried to uninstall bundler version 1.13.2
and install bundler version 1.0.0. The same thing appear again.
How do i set the default version for bundler?
Related
When trying to run 'bundle install', I have this message :
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 5.0.2) was resolved to 5.0.2, which depends on
bundler (>= 1.3.0, < 2.0)
Current Bundler version:
bundler (2.1.2)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem 'bundler (>= 1.3.0, < 2.0)', which is required by gem 'rails (= 5.0.2)', in any of the sources.
Bundler could not find compatible versions for gem "pg":
In Gemfile:
pg (= 0.18.3)
jsonb_accessor (~> 1.0.0) was resolved to 1.0.0, which depends on
pg (>= 0.18.1)
Then, I think I need to change my bundler version why is 2.1.2, I would like to change to 1.17.3.
gem list command says :
bundler (default 1.17.3)
but bundle -v command says :
Bundler version 2.1.2
I am using ruby 2.5.1 with RVM.
Do you have any idea how to do so ?
I read that I can use bundle config set but it does nothing.
Bundler installs a binary that gets invoked before your Gemfile is read, so you'll need to remove the version you are using and install the version you want.
You can do this with RVM with the following:
rvm #global do gem uninstall bundler -a -x -I || true
gem install bundler -v '= 1.17.3'
If you hop between projects, you may have to do this a lot, or you can do this:
gem install bundler -v '= 1.17.3'
And instead of using bundle install, use:
bundle _1.17.3_ install
to specify the version of the bundler gem gets used.
I would recommend you look into upgrading Rails, not only to get on a supported version (that has security updates), but it will also allow you to upgrade bundler again.
You need to delete manually the directory on your problematic ruby version: for example if there is a bundler problem with the 2.5.1 ruby version, go to this path:
/Users/YOUR_USER/.rvm/rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/
and delete the bundler directory.
If bundler is in the default specification you also need to remove the bundler associated file on this path:
/Users/YOUR_USER/.rvm/rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/specifications/default
Then you can re-install a specific version of bundler using #Unixmonkey answer
When I type bundle install I got this error. I tried to find solution but nothing solve my case. Please help me.
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 4.1.8) was resolved to 4.1.8, which depends on
bundler (< 2.0, >= 1.3.0)
Current Bundler version:
bundler (2.0.1)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem 'bundler (< 2.0, >= 1.3.0)', which is required by gem 'rails
(= 4.1.8)', in any of the sources.
Bundler could not find compatible versions for gem "rails":
In Gemfile:
rails (= 4.1.8)
animate-rails was resolved to 1.0.10, which depends on
rails
Try to use
gem install bundler -v 1.17.3
bundle _1.17.3_ install
Your bundler gem is too big. You can downgrade for now by changing your gemfile to specify the lower version, and deleting the lock file again.
gem 'bundler', '1.17.1'
Then try these commands in the terminal
gem install bundler -v 1.17.1
gem uninstall bundler -v 2.0.1
bundle update --bundler
bundle install
That last install command might be redundant. I'm on my phone so I can't test anything unfortunately.
Best of luck!
EDIT:
This is now a Heroku issue. Got it. Heroku docs regarding Bundler
Libraries
The following libraries are used by the platform for managing and running >Ruby applications and cannot be specified. For application dependency resolution and management, bundler is installed based on the contents of your Gemfile.lock. If you have a BUNDLED WITH in your Gemfile.lock then you will receive a different version of Bundler:
Applications specifying Bundler 2.x in their Gemfile.lock will receive bundler: 2.0.1
Applications specifying Bundler 1.x in their Gemfile.lock will receive bundler: 1.15.2
Applications with no BUNDLED WITH in their Gemfile.lock will default to bundler: 1.15.2
For more information on available settings see Bundler configuration. For more information on why we only support a specific set of bundler versions, please see this article about your Bundler version.
So it seems like Heroku only allows certain versions of Bundler to be compatible, relevant doc is linked. Downgrade to 1.15.2 and give it another shot.
You don't need to uninstall the newest version of bundler (especially if you have other applications).
First find the bundler version that you need.
For example, after running bundle install:
Could not find gem 'bundler (>= 1.3.0, < 2.0)', which is required by gem 'rails (~> 4.2)', in any of the sources.
I need any version between 1.3.0 and 2.0. Hence, I would go for bundler 1.9.
Then, install the bundler:
gem install bundler -v 1.9
Run that bundler version to install gems:
bundler _1.9_ install
I'm running Ruby 1.9.3 and Rails 4.0.0, and I'm just starting to learn how to use Ruby on Rails. Whenever I type the command to create a project:
rails new blog
I get this error when the bundle tries to execute the "bundle install" command:
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 4.0.0) ruby depends on
bundler (< 2.0, >= 1.3.0) ruby
Current Bundler version:
bundler (1.2.3)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
But with the command:
gem list bundle
returns:
bundler (1.3.5, 1.2.3)
And the command:
bundle -v
returns:
Bundler version 1.3.5
I don't know why that's happening, I appreciate any help, thanks.
Try removing the version in your Gemfile. Just keep
gem 'bundler'
Now run
bundle update
Try check Gemfile.lock for used bundler version.
You also can try to uninstall old version:
gem uninstall bundler --version 1.2.3
You can also specify the version of bundler you want to use
bundle _1.3.5_ install
I'm trying to install a gem, I updated it in the gemfile, then bundle install.
I received the following error message:
Bundler could not find compatible versions for gem "rails":
In Gemfile:
merchant_samples (>= 0) ruby depends on
rails (~> 3.2.9) ruby
rails (3.2.7)
What does it mean? What can I do? I'm using rvm, do I need to switch to another version of ruby? of rails? and if so, which one and how? and why :)
What that means is that merchant_samples gem requires rails 3.2.9 or higher and you are using version 3.2.7. So to use it you need to upgrade your rails version to 3.2.9 at least, but you should actually update to the latest 3.2.* since there are some security issues on older versions. At the moment the newest version is 3.2.13
You can upgrade changing your Gemfile to:
gem 'rails', '3.2.13'
Then you must run bundle and everything should be working.
I have a Rails 3.0.0 project that was using Ruby 1.9.2. Now that I tried to run it on a new computer with the current rvm, it will say:
$ rails s
/Users/michael/.rvm/gems/ruby-1.9.2-p318#global/gems/bundler-1.1.3/lib/bundler/resolver.rb:129:in `block in resolve': Bundler could not find compatible versions for gem "bundler": (Bundler::VersionConflict)
In Gemfile:
rails (= 3.0.0) ruby depends on
bundler (~> 1.0.0) ruby
Current Bundler version:
bundler (1.1.3)
but I already used
gem install rails -v 3.0.0
gem install bundler -v 1.0.0
gem install bundler -v 1.0.2
so that when I gem list, I will see
bundler (1.1.3, 1.0.22, 1.0.0)
rails (3.0.0)
so how come it is still complaining that Rails 3.0.0 requires bundler 1.0.0 and it is not there? How to make the project run again?
Update: my Gemfile is mostly comments except:
source 'http://rubygems.org'
gem 'rails', '3.0.0'
gem 'sqlite3-ruby', :require => 'sqlite3'
Update 2: if I run bundle check:
$ bundle check
Your Gemfile's dependencies could not be satisfied
Install missing gems with `bundle install`
$ bundle install
Fetching gem metadata from http://rubygems.org/.........
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 3.0.0) ruby depends on
bundler (~> 1.0.0) ruby
Current Bundler version:
bundler (1.1.3)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
The problem is that you have three version of bundler (1.1.3, 1.0.22, 1.0.0).And your app require only 1.0.0.And when you run server it use 1.1.3.
So first uninstall two bundler by this command
gem uninstall bundler -v=1.1.3
gem uninstall bundler -v=1.0.22
Then run server it will sure work....
You may need to run rails and rake inside the bundler context:
bundle exec rails s
Ditt with your rake commands, e.g.,
bundle exec rake -T
Here's a SO thread with links to more in depth articles. Also, lots of chatter about how to get around it if you get annoyed. Personally, I alias my most common commands anyway, so I don't even notice.
Just add Bundler into your gemfile to lock the version of bundler to use for that project.
gem 'bundler', '1.1.0'
If you do this you do not need to uninstall the other versions of Bundler, which you may be using on other projects with different dependencies.
You also shouldn't need to use bundle exec for any rails commands as Rails is bundler aware and will always run in the context of the current bundle. Non Rails commands require `bundle exec'.