Setting to Ruby 1.9 in Ubuntu...

  • Thread starter Xeno Campanoli / Eskimo North and Gmail
  • Start date
X

Xeno Campanoli / Eskimo North and Gmail

I tried installing a bunch of ruby 1.9 stuff on my Ubuntu laptop last night, but
my default ruby is still 1.8.7. Anybody know a regular method for setting to
1.9 on Ubuntu? Perhaps this is an Ubuntu question, but presumably the best way
is not always the Ubuntu way...???
 
W

Walton Hoops

I tried installing a bunch of ruby 1.9 stuff on my Ubuntu laptop last
night, but my default ruby is still 1.8.7. Anybody know a regular
method for setting to 1.9 on Ubuntu? Perhaps this is an Ubuntu
question, but presumably the best way is not always the Ubuntu way...???
The Ubuntu way is to run 'sudo update-alternatives --config ruby' and
'sudo update-alternatives --config rubygems', or instead of calling Ruby
scripts with 'ruby', call them with 'ruby1.9' when you want them run in 1.9.

Another solution that is available is Ruby Version Manager (RVM). I've
never used RVM, so I can't say anything for or against it.
http://rvm.beginrescueend.com/
 
J

Jason Roelofs

way...???
The Ubuntu way is to run 'sudo update-alternatives --config ruby' and
'sudo update-alternatives --config rubygems', or instead of calling = Ruby
scripts with 'ruby', call them with 'ruby1.9' when you want them run = in 1.9.
=20
Another solution that is available is Ruby Version Manager (RVM). = I've
never used RVM, so I can't say anything for or against it.
http://rvm.beginrescueend.com/
=20

Forget Ubuntu's ruby completely. Use RVM, you will save yourself TONS of =
headache. It's really easy:

sudo gem install rvm
rvm-install (and follow instructions for .bashrc settings)

rvm install 1.9.1
rvm use 1.9.1 --default

Now you're completely in the RVM system (which is maintained in ~/.rvm =
by default) and can trivially switch between a myriad of Ruby =
implementation.

Jason
 
J

James Britt

Walton said:
The Ubuntu way is to run 'sudo update-alternatives --config ruby' and
'sudo update-alternatives --config rubygems', or instead of calling Ruby
scripts with 'ruby', call them with 'ruby1.9' when you want them run in 1.9.

Another solution that is available is Ruby Version Manager (RVM). I've
never used RVM, so I can't say anything for or against it.
http://rvm.beginrescueend.com/

Or install from source code.

I'm not a fan of Ubuntu's packaging of Ruby, though for some apps (such
as Amarok) you seem to have to have it. (nice that they have it
scriptable by Ruby, stupid that you can't specify *which* ruby you want
it to use.)


rvm is quite slick and I've been using it on some recent machine builds.


--
James Britt

www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development
 
X

Xeno Campanoli / Eskimo North and Gmail

Walton said:
The Ubuntu way is to run 'sudo update-alternatives --config ruby' and
'sudo update-alternatives --config rubygems', or instead of calling Ruby
scripts with 'ruby', call them with 'ruby1.9' when you want them run in 1.9.

Another solution that is available is Ruby Version Manager (RVM). I've
never used RVM, so I can't say anything for or against it.
http://rvm.beginrescueend.com/

Thank you. That didn't get me there, but I really appreciate the quick
response, and that actually helps me in some other areas.

I got this:

root@rockhopper:~# update-alternatives --config ruby
update-alternatives: error: no alternatives for ruby.
root@rockhopper:~# update-alternatives --config rubygems
update-alternatives: error: no alternatives for rubygems.
root@rockhopper:~#

rvm in that guise is not on my apt purvey. I appreciate the suggestions.
Perhaps if it's this hard it's better to wait for the OSs to upgrade themselves
anyway. I just noticed the CentOS we use is way back to ruby 1.8.5. I sure
hope we stop using CentOS soon. It is a dog, and wastes a lot of our time.
Debian family stuff has it's problems, but for my work it seems to always come
out as superior.
 
X

Xeno Campanoli / Eskimo North and Gmail

Jason Roelofs wrote:

root@rockhopper:~# gem install rvm
********************************************************************************

In order to setup rvm for your user's environment you must now run rvm-install.
rvm-install will be found in your current gems bin directory corresponding to
where the gem was installed.

rvm-install will install the scripts to your user account and append itself
to your profiles in order to
inject the proper rvm functions into your shell so that you can manage
multiple rubies.

********************************************************************************
Successfully installed rvm-0.1.27
1 gem installed
Installing ri documentation for rvm-0.1.27...
Installing RDoc documentation for rvm-0.1.27...
root@rockhopper:~# rvm install 1.9.1
No command 'rvm' found, but there are 20 similar ones
rvm: command not found
root@rockhopper:~# which rvm
root@rockhopper:~#
 
J

Jason Roelofs

You didn't follow the instructions I gave and the block of text there =
gave you.

rvm-install

And there will be some bash commands to add to your .bashrc as well, =
which rvm-install gives you.

Jason=20

Jason Roelofs wrote:
=20
root@rockhopper:~# gem install rvm
= **************************************************************************=
******
=20
In order to setup rvm for your user's environment you must now run = rvm-install.
rvm-install will be found in your current gems bin directory =
corresponding to where the gem was installed.
=20
rvm-install will install the scripts to your user account and append =
itself to your profiles in order to
inject the proper rvm functions into your shell so that you can = manage multiple rubies.
=20
= **************************************************************************=
******
Successfully installed rvm-0.1.27
1 gem installed
Installing ri documentation for rvm-0.1.27...
Installing RDoc documentation for rvm-0.1.27...
root@rockhopper:~# rvm install 1.9.1
No command 'rvm' found, but there are 20 similar ones
rvm: command not found
root@rockhopper:~# which rvm
root@rockhopper:~#
=20
~/.rvm by default) and can trivially switch between a myriad of Ruby =
implementation.
 
W

Walton Hoops

Jason Roelofs wrote:

root@rockhopper:~# gem install rvm
********************************************************************************


In order to setup rvm for your user's environment you must now run
rvm-install.
rvm-install will be found in your current gems bin directory
corresponding to where the gem was installed.

rvm-install will install the scripts to your user account and append
itself to your profiles in order to
inject the proper rvm functions into your shell so that you can
manage multiple rubies.

********************************************************************************

Successfully installed rvm-0.1.27
1 gem installed
Installing ri documentation for rvm-0.1.27...
Installing RDoc documentation for rvm-0.1.27...
root@rockhopper:~# rvm install 1.9.1
No command 'rvm' found, but there are 20 similar ones
rvm: command not found
root@rockhopper:~# which rvm
root@rockhopper:~#

This is because the location that Debian/Ubuntu's version of rubygems
puts gem executable is not in your path by default, one of many problems
you avoid if you install from source. I don't recall where Debian dumps
them off the top of my head, but I'll check when I get home. That said,
I _highly_ recommend installing from source instead of using Ubuntu's
version. You avoid several headaches that way.
 
X

Xeno Campanoli / Eskimo North and Gmail

Jason Roelofs wrote:

Sorry man. The more I play with this thing, the less comfortable I feel about
it. If I had time to help with it, I would be glad to. Not today.

Sincerely, Xeno
You didn't follow the instructions I gave and the block of text there gave you.

rvm-install

And there will be some bash commands to add to your .bashrc as well, which rvm-install gives you.

Jason
 
W

Walton Hoops

Thank you. That didn't get me there, but I really appreciate the
quick response, and that actually helps me in some other areas.

I got this:

root@rockhopper:~# update-alternatives --config ruby
update-alternatives: error: no alternatives for ruby.
root@rockhopper:~# update-alternatives --config rubygems
update-alternatives: error: no alternatives for rubygems.
root@rockhopper:~#

rvm in that guise is not on my apt purvey. I appreciate the
suggestions. Perhaps if it's this hard it's better to wait for the OSs
to upgrade themselves anyway. I just noticed the CentOS we use is way
back to ruby 1.8.5. I sure hope we stop using CentOS soon. It is a
dog, and wastes a lot of our time. Debian family stuff has it's
problems, but for my work it seems to always come out as superior.
Ugh. I just assumed that Ruby would be managed through the
alternatives. This is why I run from source.

The lazy man's solution to your problem is to simply change the symbolic
link 'ruby' in /usr/bin to point to 'ruby1.9' instead of 'ruby1.8' (the
same would need to be done for rubygems. Make sense?
 
J

Jonathan Nielsen

Try 'sudo gem install rvm'

This will put the rvm-install in your path.

-Jonathan Nielsen
 
X

Xeno Campanoli / Eskimo North and Gmail

Walton said:
This is because the location that Debian/Ubuntu's version of rubygems
puts gem executable is not in your path by default, one of many problems
you avoid if you install from source. I don't recall where Debian dumps
them off the top of my head, but I'll check when I get home. That said,
I _highly_ recommend installing from source instead of using Ubuntu's
version. You avoid several headaches that way.

Yes, you know in some settings I really want to stay with a simple set of
repeatable and well known standards. I need to wait on 1.9 I think until it
actually 'comes out' for this project. Thanks again.
 
W

Walton Hoops

Try 'sudo gem install rvm'

This will put the rvm-install in your path.

-Jonathan Nielsen

No it won't, he's installed the Debian version of rubygems, which puts
the gem executables in /var/lib/gems/<version>/bin, which is not in the
default path. It can, however be added by putting:

export PATH=/var/lib/gems/1.8/bin:$PATH
at the end of ~./bashrc
 
J

Jonathan Nielsen

No it won't, he's installed the Debian version of rubygems, which puts
the gem executables in /var/lib/gems/<version>/bin, which is not in the
default path. It can, however be added by putting:

export PATH=/var/lib/gems/1.8/bin:$PATH
at the end of ~./bashrc

Well, that's precisely what I did on mine to install rvm atop Ubuntu's
ruby+rubygems, and it put rvm-install in /usr/bin... on Ubuntu 9.10 at
least.

That's all I use the Ubuntu packaged ruby for - installing rvm so I
can mess around with different ruby versions :)

-Jonathan Nielsen
 
K

Ken Bloom

Thank you. That didn't get me there, but I really appreciate the quick
response, and that actually helps me in some other areas.

I got this:

root@rockhopper:~# update-alternatives --config ruby
update-alternatives: error: no alternatives for ruby. root@rockhopper:~#
update-alternatives --config rubygems update-alternatives: error: no
alternatives for rubygems. root@rockhopper:~#

rvm in that guise is not on my apt purvey. I appreciate the
suggestions. Perhaps if it's this hard it's better to wait for the OSs
to upgrade themselves anyway. I just noticed the CentOS we use is way
back to ruby 1.8.5. I sure hope we stop using CentOS soon. It is a
dog, and wastes a lot of our time. Debian family stuff has it's
problems, but for my work it seems to always come out as superior.

Ubuntu (and most other distributions) believe in having a default version
of the language, so it isn't a matter of guesswork to know which version
of Ruby is the default. As such, interpreted language versions aren't
managed by the alternatives system. At some time in the future, they'll
change the default to 1.9.x (after having a well-planned migration, and
an understanding that 1.9.x is the preffered alternative in the
community), but in the mean time you need to specify that you want ruby
1.9.1 by using ruby1.9.1 as your shebang, and by typing the version on
the command line.

(They treat gcc and python similarly. Perl 5's compatibility is so set in
stone at this point that it doesn't need alternative versions on the same
system, so the current version is always the default.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,233
Latest member
AlyssaCrai

Latest Threads

Top