Sass 3.2 Prerelease with Rails - ruby-on-rails

I would like to use the new SASS 3.2 with rails (3.2).
It seems that sass-rails depends on sass 3.1
How might I go about crafting the Gemfile to use the pre-release
SASS 3.2 gem?
I have tried to fork the sass-rails project and upgrade the sass dependency myself but with no luck and only errors when trying to run bundler..
Any ideas?

You can set the version as a second arg in your Gemfile:
gem 'sass', '3.2.0.alpha.237'
and it will install the version that you have set.

Related

Ruby gem referencing different versions of same gem

One of my ruby engine( a gem) is having a dependency on one of my other projects. With some issue in other project I have to uplift the dependency version of a gem in my engine. I am getting the following output when running bundle install.
Bundler could not find compatible versions for gem "Gem A":
In Gemfile:
My Gem Engine (>= 0) ruby depends on
Gem A (~> 2.8) ruby
MyGem Engine (>= 0) ruby depends on
Gem A (3.0.0.SNAPSHOT.20141016054448)
Updating the rails and ruby version fixed the issue. The dependent gem is having dependency of latest ruby and rails versions.

Sass 3.3 RC1 in Rails app using sass-rails gem

I want to update my in development Rails app to use the newly released Sass 3.3 RC1. How can I do this if I am using the sass-rails gem?
You merely refer to the master branch of the github repository in this case; Was able to immediately use Sass 3.3 RC! with zero issues within the context of Rails.
Don't forget to upgrade Compass as well the same way:
gem "compass", github: "chriseppstein/compass"
gem "compass-rails", github: "Compass/compass-rails"
Update: merely typing bundle update worked for me on another Rails 4 project to get Sass 3.3.rc1

Error when bundle install-ing - `Bundler could not find compatible versions for gem "rails"`

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.

Why does acts-as-taggable-on upgrade rails gem from 3.1.1

I have a rails app that uses rails gem v3.1.1 and acts-as-taggable-on gem v2.1.1.
Our server build installs the rails v3.1.1 gem before the acts-as-taggable-on v2.1.1 gem.
My problem is that installing the acts-as-taggable-on gem also installs the latest rails (3.2.1) even though I already have rails installed and I end up with 2 versions of rails installed.
Looking at the acts-as-taggable-on gemspec it has rails as a dependency. On install, I would expect acts-as-taggable on to know that the rails gem is installed and not install the latest version.
Can you explain why it installs rails again, and if there is a way to stop it?
Thanks in advance.
Version 2.2.2 of the gem bumps the Rails dependency down to 3.x instead of 3.2. If you're able to upgrade acts-as-taggable-on, switch to v2.2.2 and you should no longer have a dependency clash.

Omnisocial depends on gem bcrypt-ruby 2.1, but Rails 3.1 depends on bcrypt 3.0.0 - what do I do?

Trying to test out this awesome looking gem - http://icelab.com.au/articles/welcome-to-the-omnisocial/ - that promises easy integration of Twitter & FB login to my app.
But, when I run bundle install I see this:
Bundler could not find compatible versions for gem "bcrypt-ruby":
In Gemfile:
omnisocial depends on
bcrypt-ruby (~> 2.1)
bcrypt-ruby (3.0.0)
When I specify that I want Bundler to use version 2.1, I get this:
Bundler could not find compatible versions for gem "bcrypt-ruby":
In Gemfile:
bcrypt-ruby (~> 2.1)
rails (= 3.1.0) depends on
bcrypt-ruby (3.0.0)
So now I have to choose between either Omnisocial or Rails 3.1. Seems like such a crappy choice.
What do I do to get it to work?
I've pushed released a new version of the gem (which I've had to rename to omnipopulus for legal reasons). This new release doesn't depend on any particular version of the bcrypt-ruby gem, so you should be fine to run it with Rails 3.1.
Add this to your Gemfile to get going:
gem 'omnipopulus'
Then run bundle and follow the instructions in the README at https://github.com/icelab/omnipopulus
Make sure that you've removed any references to omnisocial in your app.
The current github version of omnisocial requires no particular version of bcrypt. See here.
But they added a dependency to a RC version of Rails...
What I often do in these cases:
clone the github repository
change what I need
run the gem's test suite
if ok, add my own version to the Rails app
if a new version of the gem is released an fit my needs, I use the official version again

Resources