How to build PrototypeJS from source? - build

I cloned prototype.js repository, but when i trying to build, i get the error:
rake aborted!
uninitialized constant Sprockets::Secretary
What is the reason?

I was also having this problem.
Try using a different version of sprockets.
gem uninstall sprockets, gem install sprockets --version 1.0.2
1.0.2 was the version that worked for me.

Related

I cannot load my 'mysql2' gem.

I am a beginner at Rails and when I typed in 'rails server' in Terminal, I received this error:
Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
I am using OSX Yosemite 10.10.5. I've tried installing it:
gem install mysql2
It still gave me the same error. I see that mysql2-0.4.0 is installed. Please help, thank you!
There is a bug in Rails 4.2.4 and previous, with the newly released 0.4.0 version of the mysql2 gem -- one part of Rails will accidentally refuse to use the newly released 0.4.0 version of mysql2.
The issue is reported here, although without a lot of details:
https://github.com/rails/rails/issues/21544
Until a new version of Rails is released that fixes this one way or another, add this to your Gemfile, specifying that mysql2 0.4.0 won't work:
# mysql 0.4.0 does not work with Rails 4.2.4
# https://github.com/rails/rails/issues/21544
gem 'mysql2', '>= 0.3.13', '< 0.4.0'
You previously probably just have gem 'mysql2' in your Gemfile -- add the version constraints as above, so it knows 0.4.0 won't work. Add the comments so you know why you did it, and can remove it later when no longer neccesary (probably whenever Rails 4.2.5 comes out).
Edit the Gemfile in your app like above, and then run bundle update mysql2 in your app directory, so your app will be using a mysql2 gem version 0.3.x again, as current Rails version wants.
When Rails 4.2.5 or later comes out and you upgrade to it, you will probably want to go back to your Gemfile and remove the version requirement specification for mysql2, return it to saying just gem 'mysql2' again. So your app will be willing to use the newer mysql2 0.4.0 gem, once Rails is willing to do so too.
add gem 'mysql2' to your Gemfile to specify the gems you want to use in your project
run bundle install which will install all gems, specified by Gemfile
run rails s should work fine

Ruby gems issue with upgrading

I run rails generate controller welcome index
I got the warning
You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run gem pristine --all
I updated gem --system and also added paths into ~/.bashrc, but still same result, is there any suggestion?
Since I had an older Ruby version 2.0 from the past, so it made apache confuse. I could either explicitly telling apache to use which directory, or use RVM (Ruby Version Manager) which do all jobs. Just need to go through these steps:
Install RVM:
rvm get stable --auto-dotfiles
Then tell which version you tend to use:
rvm use 2.2.0
Update gems
gem install rails
Now ready to go!
Go to your Gemfile.lock and change your version of Ruby. That might do it.
What Ruby manager are you using?

ERROR: While executing gem (OpenSSL::SSL::SSLError) SSL_read: Wrong version number

I installed Ruby 2.2.2 x64 and gem version 2.4.6. on Windows 7 64
I've run gem update --system
I get the above error when doing gem install rails --no-ri --no-rdoc
I've researched Google, but found no relevant answer. Any ideas?
RailsInstaller is the best package for installing rails on windows.It includes all required Packages. RilasInstaller - http://railsinstaller.org/en

ActiveAdmin: gem not checkout, run bundle install first

In a Rails 4 app, I am trying to use ActiveAdmin 1.0.pre2. bundle install doesn't complain and seems to have included the gem and it works properly.
I am having this in my gem file:
gem 'activeadmin', github: 'gregbell/active_admin'
$> bundle show activeadmin
/home/aslam/.rvm/gems/ruby-2.1.0#monaeo/bundler/gems/active_admin-3fb7f03335b1
Even after running bundle install several times, I keep getting the following error:
git://github.com/gregbell/active_admin.git (at master) is not yet checked out.
Run `bundle install` first.
I am using
Bundler version 1.6.0.rc2 (upgraded from 1.5.3)
Ruby: ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux]
Rails: 4.0.4
I am not sure what is going wrong here?
Try to install a prerelease version of Bundler:
gem install bundler --pre
It should solve the problem.
Use following in the Gemfile
gem 'activeadmin', :git => "git://github.com/gregbell/active_admin.git"
This way when you run bundle install, activeadmin would be sourced from its github repository.
Two things
A. You need to include like this in the gem file since 0.6.x is stable and maintained.
gem 'activeadmin', github: 'gregbell/active_admin', branch: '0-6-stable'
B. You can give a try by forking from the stable version of activeadmin
My solution:
rake rails:update:bin
bundle install

Rails4 new application creation - Bundler expecting version MySQL2 3.1.3?

I'm starting to experiment with Rails 4 for work where we are using the MySQL2 3.1.0 gem on the server.
Locally with Ruby 2.0, I installed the MySQL2 3.1.0 Gem and everything was fine there (matching the gem version on the work server basically just to match the production server environment).
When I created a new Application (ruby new r4_test -d mysql) I ran into a problem though. Bundler crashed during the new application creation process complaining about missing MySQL2 3.1.3 files. It looks like 3.1.3 (released 3 months ago if I'm looking right) is the highest version number of the MySQL2 Gem. I'm confused about this because the only version of MySQL2 installed in the Ruby folder is version 3.1.0. Why did Bundler ignore the installed gem and expect a higher version that wasn't installed locally? I skipped Rails3 so I'm new to Bundler. It doesn't seem like it should expect a version that's not local though. Sometimes there are bugs or other issues where you need to stay on an older version of a gem for awhile too. ?
Thanks!
If you don't already have a Gemfile.lock in your project directory, Bundler tries to install the most recent version available that meets the version criteria in Gemfile. So, for a new Rails project, it will try to install the latest dependencies of the default generated Gemfile. It doesn't actually look at your installed gems at all unless you already have a Gemfile.lock.
You can use the --skip-bundle (or -B) if you don't want Rails to run bundle install when creating a new project. That gives you a chance to customize the Gemfile first. You can add in a version constraint if you want to be sure it will use the version you already have installed.