From: Lucas Nussbaum Date: 2010-09-13T06:05:03+09:00 Subject: Re: My experience from setting up a ruby dev environment (was: Re: Ruby packaging in Debian and Ubuntu: Mythbusting and FAQ) On 13/09/10 at 05:37 +0900, Markus Fischer wrote: > Hi Lucas, > > [warning: this turned out to be a loooong email] > > thanks for going after this topic, and thanks for caring about Ruby on > Debian! I see that people are already actively writing comments on your > blog, however I prefer the list to easier keep track of things (I'm > doing hard following replies on a flat list like the blog comments). > > On 12.09.2010 18:29, Lucas Nussbaum wrote: > > Feel free to discuss it here, or in the blog comments. (I'm > > monitoring both) > > I'm also one those who replied recently on ruby-core about the > Ruby/Debian issue, not because I want to nag about it but I also care > about it. I've much settled about using "rvm" these days to avoid the > problems I had but I think it's only fair to the immense amount of work > you're putting into it when a user like me also provides his share of > it, so I thought about getting back and see what problems I had. > > For the following things, I'm doing this on Lenny inside VMWare, > 2.6.26-2-amd64 that is. It's a clean system, i.e. freshly installed and > no ruby anywhere. I made a snapshot so I can go anytime back and test > things really from the start if I'm doing something wrong. > > Goal: set up ruby so I can develop with nokogiri (it's one of the common > use cases for me) > > Looking at the available ruby packages (I did with dpkg -l '*ruby*' ) > I went with "sudo aptitude install ruby-full", it sounded the most > reasonable to me. > > After the installation, I also installed "libxml2-dev" because due my > prior knowledge I know what nokogiri is based on it. Install of that > went fine and then I executed "gem list --remote" because I didn't see > the nokogiri package on the previous package list: > > $ gem list --remote > bash: gem: command not found > > So that was the first little wall. I truly was not aware that gem is not > part of ruby on Debian. Or in general? I don't know that. It's not part of Ruby 1.8. > Anyway, I cleverly typed dpkg -l '*gem*' to find it, but was surprised: dpkg -l lists locally installed packages. You want apt-cache search. > rc imagemagick > un imagemagick-doc > rc kimagemapeditor > un migemo > > Nothing about ruby and gems anywhere. I checked my sources.list : > > deb http://ftp.at.debian.org/debian/ lenny main contrib non-free > deb-src http://ftp.at.debian.org/debian/ lenny main contrib non-free > > deb http://security.debian.org/ lenny/updates main contrib non-free > deb-src http://security.debian.org/ lenny/updates main contrib non-free > > deb http://volatile.debian.org/debian-volatile lenny/volatile main > contrib non-free > deb-src http://volatile.debian.org/debian-volatile lenny/volatile main > contrib non-free > > Looks pretty complete to me. I went on to > http://www.debian.org/distrib/packages and searched in "Search the > contents of packages" for it, I tried with "bin/gem" in "stable" first > and it came up with "jruby-1.0" and "netbeans-ide"; weird I thought. I > tried again with "gem" but the result was equally lacking what I was > looking for. > > Next try was to search "Search package directories" in "stable" for > "gem" and finally at the end I saw "rubygems" and related packages. So I > installed with "sudo aptitude install rubygems". > > This was very puzzling that gem was not part of ruby or even that > ruby-full didn't not contain the rubygems (which due it's name implied > it to me). > > Next thing: find the package, I ran "gem list --remote". I got an awful > long list which went by so I need to grep for it to see what's really > there. > > > $ gem list --remote|grep nokogiri > ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) > bad response Found 302 (http://gems.rubyforge.org/latest_specs.4.8) > > > Now that was weird. I ran the previous comment again: > > > $ gem list --remote > > *** REMOTE GEMS *** > > ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) > bad response Found 302 (http://gems.rubyforge.org/latest_specs.4.8) I guess that's because the version of rubygems in lenny still users rubyforge. The default location for gems was moved two times since then. [...] > Next I tried if I can get further with the Ruby 1.9 packages: > > $ sudo aptitude install ruby1.9-full rubygems1.9 libxml2-dev libxslt-dev > > I typed those out of my mind because I thought that would be the equal > package names, but I was wrong. There's no full for 1.9 on Lenny, this > was the proper line: Indeed, it was added later. > $ sudo aptitude install ruby1.9 ruby1.9-dev rubygems1.9 libxml2-dev > libxslt-dev > > However, running "gem list --remote" twice didn't work either: > > > $ rm -Rf .gem ; gem list --remote|grep nokogiri ; echo > "------------------" ; gem list --remote|grep nokogiri > glebm-nokogiri (1.4.2.1) > jwagener-nokogiri (1.4.1) > nokogiri (1.4.3.1, 1.2.3) > nokogiri-happymapper (0.3.4) > nokogiri-plist (0.3.1) > revo-nokogiri (1.4.1) > rsolr-nokogiri (0.0.0) > rubyjedi-nokogiri_java (1.4.0.20100513161003) > superfeedr-nokogiri (1.4.0.20091116183308) > ------------------ > ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) > bad response Found 302 (http://gems.rubyforge.org/latest_specs.4.8) > > > I've no idea what's going on here. > > > Now as to why I didn't report a bug at Debian yet: if I encountered the > error in the past (which I don't remember to be honestly) it would have > been during working-hours and depending on my available time there I may > have not had the time to report the bug. Now that I could reproduce it, > shall I create one? I'm not sure where the bug exactly is here... > > Lucas, thanks for the initiative and for listening. I hope I could help > with that mail in anyway. It would actually be more interesting if you could report on your experience doing the same thing with Debian squeeze (the next release, currently frozen). There's not much we can do about lenny anyway. Thanks for the feedback, - Lucas