Release 1.2.0 adds new features and fixes some bugs.
New features:
* RubyGems no longer performs bulk updates and instead only fetches
the gemspec
files it needs. Alternate sources will need to upgrade to RubyGems
1.2 to
allow RubyGems to take advantage of the new metadata updater. If a
pre 1.2
remote source is in the sources list, RubyGems will revert to the
bulk update
code for compatibility.
* RubyGems now has runtime and development dependency types. Use
#add_development_dependency and #add_runtime_dependency. All
typeless
dependencies are considered to be runtime dependencies.
* RubyGems will now require rubygems/defaults/operating_system.rb and
rubygems/defaults/#{RBX_ENGINE}.rb if they exist. This allows
packagers and
ruby implementers to add custom behavior to RubyGems via these
files. (If
the RubyGems API is insufficient, please suggest improvements via the
RubyGems list.)
* /etc/gemrc (and windows equivalent) for global settings
* setup.rb now handles --vendor and --destdir for packagers
* `gem stale` command that lists gems by last access time
Bugs Fixed:
* File modes from gems are now honored, patch #19737
* Marshal Gem::Specification objects from the future can now be loaded.
* A trailing / is now added to remote sources when missing, bug #20134
* Gems with legacy platforms will now be correctly uninstalled, patch
#19877
* `gem install --no-wrappers` followed by `gem install --wrappers` no
longer
overwrites executables
* `gem pristine` now forces reinstallation of gems, bug #20387
* RubyGems gracefully handles ^C while loading .gemspec files from
disk, bug
#20523
* Paths are expanded in more places, bug #19317, bug #19896
* Gem::DependencyInstaller resets installed gems every install, bug
#19444
* Gem.default_path is now honored if GEM_PATH is not set, patch #19502
Other Changes Include:
* setup.rb
* stub files created by RubyGems 0.7.x and older are no longer
removed. When
upgrading from these ancient versions, upgrade to 1.1.x first to
clean up
stubs.
* RDoc is no longer required until necessary, patch #20414
* `gem server`
* Now completely matches the output of `gem generate_index` and
has correct content types
* Refreshes from source directories for every hit. The server will
no longer
need to be restarted after installing gems.
* `gem query --details` and friends now display author, homepage,
rubyforge url
and installed location
* `gem install` without -i no longer reinstalls dependencies if they
are in
GEM_PATH but not in GEM_HOME
* Gem::RemoteFetcher now performs persistent connections for HEAD
requests,
bug #7973
For a full list of changes to RubyGems and the contributor for each
change, see
the ChangeLog file.
Special thanks to Chad Wooley for backwards compatibility testing and
Luis
Lavena for continuing windows support.
== How can I get RubyGems?
NOTE: If you have installed RubyGems using a package system you may
want to
install a new RubyGems through the same packaging system.
If you have a recent version of RubyGems (0.8.5 or later), then all
you need to do is:
$ gem update --system (you might need to be admin/root)
(Note: You may have to run the command twice if you have any previosly
installed rubygems-update gems).
If you have an older version of RubyGems installed, then you can still
do it in two steps:
$ gem install rubygems-update (again, might need to be admin/root)
$ update_rubygems (... here too)
If you don't have any gems install, there is still the pre-gem
approach to getting software ... doing it manually:
1. DOWNLOAD FROM: http://rubyforge.org/frs/?group_id=126
2. UNPACK INTO A DIRECTORY AND CD THERE
3. INSTALL WITH: ruby setup.rb (you may need admin/root privilege)
== To File Bugs
The RubyGems bug tracker can be found on RubyForge at:
http://rubyforge.org/tracker/?func=add&group_id=126&atid=575
When filing a bug, `gem env` output will be helpful in diagnosing the
issue.
If you find a bug where RubyGems crashes, please provide debug output.
You can
do that with `gem --debug the_command`.
== Thanks
Keep those gems coming!
-- Jim & Chad & Eric (for the RubyGems team)
thank you very much for the update. it's now a lot faster and all my gems installed/uninstalled fine. all gems truelly updated.
I second that thank you! I was worried because gem kept updating the
cache on every single command. Updating to 1.2.0 solved that.
-Ripta
--
Posted via http://www.ruby-forum.com/.
Yahoo! I have been waiting for this!
The slower the internet access, the more appreciation you'll get.
Les
Cool !
Thanks for the update !
Sandro
On Mon, Jun 23, 2008 at 6:17 AM, Leslie Viljoen <leslie...@gmail.com>
wrote:
--
Go outside! The graphics are amazing!
thanks,
saji
* Sandro Paganotti <sandro.p...@gmail.com> [2008-06-23 17:23:28 +0900]:
--
Saji N. Hameed
APEC Climate Center +82 51 668 7470
National Pension Corporation Busan Building 12F
Yeonsan 2-dong, Yeonje-gu, BUSAN 611705 sa...@apcc21.net
KOREA
Nice new features! Sweetness.
Some notes:
~ sudo gem update --system
Updating RubyGems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Nothing to update
~ gem -v
1.1.1
1) I seem to be unable to upgrade. Hopefully this will be fixed soon by
some propagating gems.
2) It always does 'mass' bulk update each time I run this command,
despite the fact that my gem cache is up to date.
I look forward to installing it eventually, though :)
-R
> = Announce: RubyGems Release 1.2.0
>
> Release 1.2.0 adds new features and fixes some bugs.
yes, we really all do love eric.
keep up the fantastic work man!
a @ http://codeforpeople.com/
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama
FYI, You can include development dependencies during an install or
update with --development.
Also, a small API addition for folks doing conditional gem loading by
manually checking the source index or rescuing LoadError:
Gem.available?(gem, *specs)
~ j.
> For a future release, I wish the install command would not reinstall
> a gem already present in the system, or could give a warning that the
> gem is already installed.
Why do you care?
So that if you run
gem install RedCloth mongrel hpricot
it doesn't waste time reinstalling ones whose latest version matches the
existing one on the system.
So that we can be lazy and skip the 'gem list' phase of installing gems
> Why do you care?
because it's been modified locally.
> Why do you care?
also, because the environment may not be the same installing something
you *know* apriori has deps (LD_LIBRARY_PATH et al) compared to having
gems automatically install a dep which is already there. for example
i have two mysql installs - i need to be sure a gem install compiles
against a particular one in some cases. if gems auto installs deps
including previously installed ones it can easily surprise me be
recompiling against the wrong installation (including all deps) if i'm
unprepared.
> Release 1.2.0 adds new features and fixes some bugs.
I'm sorry to say i was unable to upgrade :
~%> sudo gem update --system
Updating RubyGems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Updating rubygems-update
ERROR: While executing gem ... (Gem::GemNotFoundException)
could not find rubygems-update locally or in a repository
OS : MacOS X 10.4.11
~%> ruby --version
ruby 1.8.6 (2007-09-24 patchlevel 111) [powerpc-darwin8.11.0]
~%> gem --version
1.1.0
--
Une Bévue
> if gems auto installs deps including previously installed ones it
> can easily surprise me be recompiling against the wrong installation
> (including all deps) if i'm unprepared.
RubyGems does not reinstall dependencies that already exist, so you
don't need to worry about this part.
> I'm sorry to say i was unable to upgrade :
and more :
~%> sudo gem install amalgalite
Password:
Bulk updating Gem source index for: http://gems.rubyforge.org/
ERROR: could not find amalgalite locally or in a repository
--
Une Bévue
> Une Bévue <unbewus...@weltanschauung.com.invalid> wrote:
>
> > I'm sorry to say i was unable to upgrade :
>
I'm also having difficulties, it would appear that I can't successfully
access http://gems.rubyforge.org. I can't find the remote rails gem:
Macintosh:activerecord rick$ gem list --both rails
*** LOCAL GEMS ***
rails (2.0.2, 1.2.5, 1.2.3)
*** REMOTE GEMS ***
Bulk updating Gem source index for: http://gems.rubyforge.org/
Macintosh:activerecord rick$
If I look at that url with firefox, I get a text page with links to get a
yaml index, look at the gems online, and download ruby gems. If I click on
the second one, I seem to get randomly redirected to different shadow
servers most of which result in a forbidden error. A sampling:
http://gemmirror.xaop.net/gems/ gives Forbiddin
http://gems.rubyforge.vm.bytemark.co.uk/gems/ gets through
http://gems.rubyforge.mmmultiworks.com/gems/ gives Forbidden
http://rubyforge-gems.ruby-forum.com/gems/ gives Forbidden
http://rubyforge.rubyuser.de/gems/ gets through
Here's what happens when I try a system update:
Macintosh:activerecord rick$ sudo gem update --system
Password:
Updating RubyGems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Updating rubygems-update
ERROR: While executing gem ... (Gem::GemNotFoundException)
could not find rubygems-update locally or in a repository
Here's my current gem setup
Macintosh:activerecord rick$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.1.0 (1.1.0)
- RUBY VERSION: 1.8.6 (2007-09-23 patchlevel 110) [i686-darwin8.11.1]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/local/bin/ruby
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-8
- GEM PATHS:
- /opt/local/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org
Macintosh:activerecord rick$ gem --version
1.1.0
--
Rick DeNatale
My blog on Ruby
http://talklikeaduck.denhaven2.com/
$ sudo gem update --system
earlier this morning.
Here's some system info:
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.2.0
- RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
- RUBY EXECUTABLE:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-9
- GEM PATHS:
- /Library/Ruby/Gems/1.8
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["http://gems.rubyforge.org"]
- REMOTE SOURCES:
- http://gems.rubyforge.org
$
Updates from the merb source were choking with an error that it wasn't
at 1.2+, but I just removed the source, since I'm not doing much w/
merb right now.
Regards,
Craig
> RubyGems does not reinstall dependencies that already exist, so you
> don't need to worry about this part.
oh yeah i see that - i guess i just tend to install deps by hand so
this is perhaps partly my fault.
cheers.
> > Why do you care?
>
> So that if you run
> gem install RedCloth mongrel hpricot
>
> it doesn't waste time reinstalling ones whose latest version matches the
> existing one on the system.
>
> So that we can be lazy and skip the 'gem list' phase of installing gems
> :)
> -R
Exactly! It wastes time ..
> --
> Posted via http://www.ruby-forum.com/.
--
Mon Jun 23 23:35:49 -0400 2008: HTTP parse error, malformed request
(127.0.0.1): #<Mongrel::HttpParserError: Invalid HTTP format, parsing
fails.>
It is only XHR, all plain HTML requests are fine. I tried going back
to 1.1.1 to no avail.
My submitted bug report:
http://rubyforge.org/tracker/index.php?func=detail&aid=20804&group_id=126&atid=575
Some additional details:
http://www.mc-kenna.com/2008/06/rubygems-120-causing-problems-for-anyone-else/
Any help would be greatly appreciated. Thanks.
Not sure if this caused the problem, but I noticed my ~/.gemrc
included two references to github. I removed one of them, restarted
the mongrels and... it started working again. Very odd.
Apologies for the wasted braincells.
Damien
>
> I'm also having difficulties, it would appear that I can't successfully
> access http://gems.rubyforge.org. I can't find the remote rails gem:
>
> Macintosh:activerecord rick$ gem list --both rails
I've heard, weeks ago, that rubygems is broken over Mac OS X 10.4.11,
for a remote install, local is OK.
I'll try that way.
--
Une Bévue
sudo apt-get install ruby rubygems
# worked
sudo gem update --system
# said it worked
Now I get the infamous
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
Ahh well. Back to installing from scratch.
-R
You have to manually remove the old gem and everything associated with it. I
tried removing gem via apt, but it didn't work. The only way I fixed it was
the old fashioned way. :)
> Back to installing from scratch.
What do u mean by "installing from scratch" ?
that is, there is a clean way to uninstall rubygems and re-install it
afterwards ?
on Mac OS X (at least 10.4.11 version) it is known there is a prob with
rubygems remote install...
downloading the gem and installing it with the -l option works
generally, but not for rubygems itself...
--
Une Bévue
In my case I download rubygems.xxx.gz, unzipped it, ran sudo ruby
setup.rb [which installed gem1.8, for some reason, instead of gem], then
I renamed gem to replace my existing gem and it was good to go. That's
what I meant :)
Not very clean, no. I suppose I could have done an apt-get uninstall
rubygems first, but at least it seems to work this way.
RubyGems itself never accesses these URLs. Forbidden here is ok.
> Here's what happens when I try a system update:
>
> Macintosh:activerecord rick$ sudo gem update --system
> Password:
> Updating RubyGems
> Bulk updating Gem source index for: http://gems.rubyforge.org/
> Updating rubygems-update
> ERROR: While executing gem ... (Gem::GemNotFoundException)
> could not find rubygems-update locally or in a repository
Can you try again today? There was an incompatibility in trunk before
RubyGems 1.2 was released, so gems released were incompatible and
broke the index. They've all been cleaned up now, re-released with
RubyGems 1.2.
There is one other bug with upgrading from RubyGems 1.1.1. If an
older rubygems-update is not installed RubyGems may report "nothing to
update". As a work-around, run `gem install rubygems-update -v 1.1.1`
before `gem update --system`.
As I responded to Rick's message, this should now be fixed. If you
get the "nothing to update" response, the workaround is to `gem
install rubygems-update -v 1.1.1` before updating RubyGems.
You either ignored the NOTE in the release notes, or did not read the
end of the update output. For my /usr/local/bin/ruby18 it prints:
> RubyGems installed the following executables:
> /usr/local/bin/gem18
>
> If `gem` was installed by a previous RubyGems installation, you may
> need
> to remove it by hand.
It probably said something similar that you ignored (like RubyGems
installing /usr/bin/gem1.8)
>
> As I responded to Rick's message, this should now be fixed. If you
> get the "nothing to update" response, the workaround is to `gem
> install rubygems-update -v 1.1.1` before updating RubyGems.
unfortunately, nope ))
~%> sudo gem update --system
Password:
Updating RubyGems
Updating metadata for 34 gems from http://gems.rubyforge.org/
..................................
complete
Nothing to update^
^^^^^^^^^^^^^^^^^
~%> sudo gem install rubygems-update -v 1.1.1
ERROR: could not find rubygems-update locally or in a repository
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
then i cd to my gems dir :
~%> cd gems
~/gems%> sudo gem install rubygems-update -v 1.1.1
Successfully installed rubygems-update-1.2.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1 gem installed
^^^^^^^^^^^^^^^
however :
~/gems%> gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.1.0 (1.1.0)
- RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111)
[powerpc-darwin8.11.0]
....
I'm running Mac OS X 10.4.11
--
Une Bévue
I've kicked off a couple of groups on Launchpad to deal with the
problem of Ruby backports and Ruby packaging in general on Ubuntu.
https://edge.launchpad.net/~ubuntu-ruby-backports
https://edge.launchpad.net/~ubuntu-ruby
The package archives of those groups contain a backport of 1.1.1
rubygems and Phusion passenger.
If you can help with testing the packages, or better still help us
write stuff then we can get to the nirvana where 'apt' and 'gem' play
nicely together that much sooner.
Neil Wilson
Brightbox
www.brightbox.co.uk
> I've heard, weeks ago, that rubygems is broken over Mac OS X 10.4.11,
> for a remote install, local is OK.
I can not confirm this.
Maybe a ppc or a macports issue?
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.2.0
- RUBY VERSION: 1.8.7 (2008-06-20 patchlevel 22) [i686-darwin8.11.1]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/local/bin/ruby
- EXECUTABLE DIRECTORY: /opt/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-8
- GEM PATHS:
- /opt/local/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/
$ gem --version
1.2.0
OSX 10.4.11
$ port version
Version: 1.600
hth. regards, Sandor Szücs
--
--
http://www.braveworld.net/riva
> I can not confirm this.
> Maybe a ppc or a macports issue?
Yes, i'm using G5-PPC, and have installed ruby using MacPorts.
But, afaik, rubygems has nothing to do with MacPorts, isn't it ?
my port version and mac os x version are the same as you...
are you using an Intel proc ?
it might be an issue on PPC only ?
regards,
--
Une Bévue
> Sandor Szücs <sandor...@fu-berlin.de> wrote:
>
>> I can not confirm this.
>> Maybe a ppc or a macports issue?
>
> Yes, i'm using G5-PPC, and have installed ruby using MacPorts.
> But, afaik, rubygems has nothing to do with MacPorts, isn't it ?
I am unsure, but I think you are right.
Btw. there is a package rb-rubygems from macports, but I
don't use it.
$ port provides /opt/local/bin/gem
/opt/local/bin/gem is not provided by a MacPorts port.
I use gem in the MacPorts path:
$ which gem
/opt/local/bin/gem
It's really a file not a symlink.
$ ls -l /opt/local/bin/gem
-rwxr-xr-x 1 root admin 788 May 6 10:18 /opt/local/bin/gem*
> my port version and mac os x version are the same as you...
>
> are you using an Intel proc ?
yes a macbook with x86
> it might be an issue on PPC only ?
It looks like that.
regards, Sandor Szücs
--
> > it might be an issue on PPC only ?
>
> It looks like that.
in my opinion, it's clear enough.
unfortunately the latest rubygems from MacPorts is 1.1.1 :
~%> port search rb-rubygems
rb-rubygems ruby/rb-rubygems 1.1.1 a package
management framework for Ruby
and, i think, it is not clean to install it from MacPorts after having
installed it from ruby, MacPorts will be confused and even might refuse
to install it.
i think here i have to report a sepcific issue for 10.4.11 && PPC...
best,
--
Une Bévue
[root@AppFoot ~]# gem -v
1.2.0
[root@AppFoot ~]# gem list sonic_logger --remote
*** REMOTE GEMS ***
sonic_logger (0.1.3)
[root@AppFoot ~]# gem install sonic_logger
ERROR: could not find gem sonic_logger locally or in a repository
Anyone else having this issue?
If you run sudo rubygems_update now, does it install 1.2.0?
There was a bug fix post 1.2.0 for gems that have "" for a platform
instead of Gem::Platform::RUBY.
>
> If you run sudo rubygems_update now, does it install 1.2.0?
Sorry, i'm lost, not at this time :
~/gems%> sudo update_rubygems
Installing RubyGems 1.2.0
setup.rb:108: undefined method `ruby_version' for Gem:Module
(NoMethodError)
~/gems%> gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.1.0 (1.1.0)
- RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111)
[powerpc-darwin8.11.0]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/local/bin/ruby
- RUBYGEMS PLATFORMS:
- ruby
- powerpc-darwin-8
- GEM PATHS:
- /opt/local/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org
~/gems%>
--
Une Bévue
For some reason I had a previous version of gem that was installed in
the wrong directory--like it should have been installed in
/user/rdp/home/i386/bin but instead it was in
/user/rdp/home/i386/bin/rdp/home/i386/bin or something.
Anyway, upgrading from this state,
download rubygems-1.2.0.tgz
ran ruby setup.rb on it.
now I get something similar:
/home/rdp/i386/bin/gem:14: undefined method `ruby_version' for
Gem:Module (NoMethodError)
This means that [in this one system] even installing it from scratch
again doesn't fix the problem. Not sure what to do.
Even deleting *gem*.rb from my ruby lib directory yields
/home/rdp/i386/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:29:
warning: already initialized constant OPS
/home/rdp/i386/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:32:
warning: already initialized constant OP_RE
/home/rdp/i386/usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:24:
Platform is not a module (TypeError)
from
/home/rdp/i386/usr/lib/ruby/site_ruby/1.8/rubygems/package.rb:15:in
`require'
from
/home/rdp/i386/usr/lib/ruby/site_ruby/1.8/rubygems/package.rb:15
from
/home/rdp/i386/usr/lib/ruby/site_ruby/1.8/rubygems/builder.rb:7:in
`require'
from
/home/rdp/i386/usr/lib/ruby/site_ruby/1.8/rubygems/builder.rb:7
from /home/rdp/i386/lib/ruby/site_ruby/1.8/rubygems.rb:769:in
`require'
from /home/rdp/i386/lib/ruby/site_ruby/1.8/rubygems.rb:769
from /home/rdp/i386/bin/gem:8:in `require'
from /home/rdp/i386/bin/gem:8
Hmm. Thankfully it's on a system where I don't really NEED gems, but
they are convenient.
Thanks!
-R
How do I check or set the platform of my gem?
~ irb
>> Gem::Platform::RUBY
=> "ruby"
Yeah mine is coming out as "ruby". Anyway I just regenerated the index
on the server and that seemed to solve the issue. Strange though
As a note--was able to overcome this by doing rm -rf .../lib/ruby,
reinstalling ruby, and then reinstalling gems, in case it's useful to
anyone else.
-=R
Did you successfully install sonic_logger gem? I'm facing the same
problem as in your first post.
Can anyone tell me how to fix? where to find sonic_logger gem?
thanks
Setp-1)
So I just downloaded rubygems-update-1.3.7.gem from
http://rubyforge.org/frs/?group_id=126
Setp-2)
gem install rubygems-update-1.3.7.gem
Setp-3)
update_rubygems
and it work for me.
> I've just had the same problem trying to upgrade rubygems from 1.2.0 to
> 1.3.7.
>
> Setp-1)
> So I just downloaded rubygems-update-1.3.7.gem from
> http://rubyforge.org/frs/?group_id=126
>
> Setp-2)
> gem install rubygems-update-1.3.7.gem
>
> Setp-3)
> update_rubygems
>
> and it work for me.
This is an unfortunate bug in the self-updater of 1.2.0.