[ANN] RubyGems 1.0.0

E

Eric Hodel

Release 1.0.0 fixes several bugs.

Major New Features Include:

* RubyGems warns about various problems with gemspecs during gem
building
* More-consistent versioning for the RubyGems software

Other Changes Include:

* Fixed various bugs and problems with installing gems on Windows
* Fixed using `gem server` for installing gems
* Various operations are even more verbose with --verbose
* Built gems are now backwards compatible with 0.9.4
* Improved detection of RUBYOPT loading rubygems
* `ruby setup.rb` now has a --help option
* Gem::Specification#bindir is now respected on installation
* Executable stubs can now be installed to match ruby's name, so if
ruby is
installed as 'ruby18', foo_exec will be installed as 'foo_exec18'
* `gem unpack` can now unpack into a specific directory with --target
* OpenSSL is no longer required by default

Deprecations and Deletions:

* Kernel#require_gem has been removed
* Executables without a shebang will not be wrapped in a future
version, this
may cause such executables to fail to operate on installation
* Gem::platform constants other than RUBY and CURRENT have been removed
* Gem::RemoteInstaller was removed
* Gem::Specification#test_suite_file and #test_suite_file= are
deprecated in
favor of #test_file and #test_file=
* Gem::Specification#autorequire= has been deprecated
* Time::today will be removed in a future version

== How can I get RubyGems?

NOTE: If you have installed RubyGems using a package 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)

== Thanks

Keep those gems coming!

-- Jim & Chad & Eric (for the RubyGems team)
 
D

Daniel Lucraft

-- Jim & Chad & Eric (for the RubyGems team)

Many thanks for fixing the memory usage of the bulk update. Works
perfectly on my 256Mb VPS now.

thanks,
Dan
 
J

John Pywtorak

When I install my own gem on one of my systems rubygems adds a dash to
the filename, or gem name?

example:
~/box$ gem install ruby/email_agent-0.5.1.gem
Successfully installed email_agent, version 0.5.1
Installing ri documentation for email_agent-0.5.1-...
Installing RDoc documentation for email_agent-0.5.1-...

Why is that - after the version number there?

Anyone know. Thanks
 
J

Jim Morris

After trying to install both from the source and from gem update --system
I get

/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

when I try to run it.

I am using ruby 1.8.6 on a Ubuntu system.

Thanks
 
J

Jim Morris

Seems to have somethign to do with having to sudo gem update, now if I runit with
sudo gem list

it works which I didn't have to do before.

I'll investigate further.
 
J

Joe Van Dyk

Release 1.0.0 fixes several bugs.

Major New Features Include:

*RubyGemswarns about various problems with gemspecs during gem
building
* More-consistent versioning for theRubyGemssoftware

Other Changes Include:

* Fixed various bugs and problems with installing gems on Windows
* Fixed using `gem server` for installing gems
* Various operations are even more verbose with --verbose
* Built gems are now backwards compatible with 0.9.4
* Improved detection of RUBYOPT loadingrubygems
* `ruby setup.rb` now has a --help option
* Gem::Specification#bindir is now respected on installation
* Executable stubs can now be installed to match ruby's name, so if
ruby is
installed as 'ruby18', foo_exec will be installed as 'foo_exec18'
* `gem unpack` can now unpack into a specific directory with --target
* OpenSSL is no longer required by default

Deprecations and Deletions:

* Kernel#require_gem has been removed
* Executables without a shebang will not be wrapped in a future
version, this
may cause such executables to fail to operate on installation
* Gem::platform constants other than RUBY and CURRENT have been removed
* Gem::RemoteInstaller was removed
* Gem::Specification#test_suite_file and #test_suite_file= are
deprecated in
favor of #test_file and #test_file=
* Gem::Specification#autorequire= has been deprecated
* Time::today will be removed in a future version

== How can I getRubyGems?

NOTE: If you have installedRubyGemsusing a package you may want to
install a
newRubyGemsthrough the same packaging system.

If you have a recent version ofRubyGems(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
installedrubygems-update gems).

If you have an older version ofRubyGemsinstalled, then you can still
do it in two steps:

$ gem installrubygems-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)

== Thanks

Keep those gems coming!

-- Jim & Chad & Eric (for theRubyGemsteam)



I upgraded to RubyGems 1.0.0. Running ruby 1.8.6 on OS X.

When I try to run a spec file in my Rails project, I get:

/opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:144:in
`parse': Illformed requirement [""] (ArgumentError)
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
70:in `initialize'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
69:in `map'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
69:in `initialize'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
45:in `new'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
45:in `create'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/
specification.rb:413:in `required_rubygems_version='
from /opt/local/lib/ruby/gems/1.8/specifications/
builder-2.1.2.gemspec:7:in `load_specification'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/
specification.rb:540:in `initialize'
... 25 levels...
from ./spec/models/../spec_helper.rb:4:in `require'
from ./spec/models/../spec_helper.rb:4
from spec/models/puzzle_spec.rb:1:in `require'
from spec/models/puzzle_spec.rb:1

Any ideas? You need more data? Is it possible to downgrade to
rubygems 0.9.5?
 
E

Eric Hodel

I upgraded to RubyGems 1.0.0. Running ruby 1.8.6 on OS X.

When I try to run a spec file in my Rails project, I get:

/opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:144:in
`parse': Illformed requirement [""] (ArgumentError)
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
70:in `initialize'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
69:in `map'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
69:in `initialize'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
45:in `new'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:
45:in `create'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/
specification.rb:413:in `required_rubygems_version='
from /opt/local/lib/ruby/gems/1.8/specifications/
builder-2.1.2.gemspec:7:in `load_specification'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/
specification.rb:540:in `initialize'
... 25 levels...
from ./spec/models/../spec_helper.rb:4:in `require'
from ./spec/models/../spec_helper.rb:4
from spec/models/puzzle_spec.rb:1:in `require'
from spec/models/puzzle_spec.rb:1

Any ideas? You need more data? Is it possible to downgrade to
rubygems 0.9.5?

I'll need a full backtrace.

You can download RubyGems 0.9.5 and install it from the tarball to
revert.
 
J

Jim Morris

Jim said:
Seems to have somethign to do with having to sudo gem update, now if I
runit with


it works which I didn't have to do before.

I'll investigate further.

Ok this has something to do with the way Ubuntu installs ruby (surprise surprise!)

The work around for me was to nuke the /usr/lib/ruby directory by renaming it ruby.old

Install ruby from the source into /usr/local/ruby

copy all my gems from /usr/lib/ruby.old/gems to /usr/local/lib/ruby/gems

also nuke /usr/bin/gem* and install gem into /usr/local/bin

Seems to have fixed it, what a mess!!
 
E

Eric Hodel

I get

/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

when I try to run it.

I am using ruby 1.8.6 on a Ubuntu system.

Did you see the NOTE? I think this is your problem.
 
E

Eric Hodel

When I install my own gem on one of my systems rubygems adds a dash
to the filename, or gem name?

example:
~/box$ gem install ruby/email_agent-0.5.1.gem
Successfully installed email_agent, version 0.5.1
Installing ri documentation for email_agent-0.5.1-...
Installing RDoc documentation for email_agent-0.5.1-...

Why is that - after the version number there?

Can I see `gem env` output?

Also, what version of RubyGems was used to build the gem?
 
D

Daniel Brumbaugh Keeney

After trying to install both from the source and from gem update --system
I get

/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

when I try to run it.

I am using ruby 1.8.6 on a Ubuntu system.

Thanks


The most common cause of upgrade issues on Ubuntu is if you installed
rubygems via apt-get, you can't upgrade via its normal sudo gem
upgrade --system, you have to replace it with another .deb. It has
been recommended that the Ubuntu package remove the command upgrade
--system.
 
J

Jim Morris

Eric said:
Did you see the NOTE? I think this is your problem.

Yes I did see the note, however I did not install rubygems via the apt system I originally installed
it manually.

However There were a number of other issues as Ruby was installed via the apt system, and the
solution I found I posted here.
 
E

Eric Hodel

Yes I did see the note, however I did not install rubygems via the
apt system I originally installed it manually.

However There were a number of other issues as Ruby was installed
via the apt system, and the solution I found I posted here.

Ok, thanks. I've not heard of this problem before. Perhaps something
is odd with apt packaged ruby's rbconfig.rb, so `gem` was placed in a
different path.
 
J

Jan Friedrich

Jim said:
Yes I did see the note, however I did not install rubygems via the apt
system I originally installed
it manually.

However There were a number of other issues as Ruby was installed via
the apt system, and the
solution I found I posted here.
I'm in the same situation.

Regards
Jan
 
J

Jonathan Hernandez

Eric said:
Do you have a /usr/local/bin/gem ?

Can you give me `gem env` output from it?

I'm also in the same situation (ruby from Apt and RubyGems manually
installed). If i do:

# gem env
/usr/local/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

# diff /usr/local/bin/gem /usr/bin/gem
#
(no differences)

I've upgraded from rubygems 0.9.2. If i return back:

~/rubygems-0.9.2# ruby setup.rb
(...)
~/rubygems-0.9.2# gem env
RubyGems Environment:
- VERSION: 0.9.2 (0.9.2)
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- GEM PATH:
- /usr/lib/ruby/gems/1.8
- REMOTE SOURCES:
- http://gems.rubyforge.org
~/rubygems-0.9.2# gem update --system
(...)
~/rubygems-0.9.2# gem -v
/usr/local/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

I know from other installs that rubygems 0.9.5 works perfectly with ruby
1.8.6 (ubuntu's apt).

Regards,
 
J

Jim Morris

I was on Fiesty which still had 1.8.4 I think, and I presumed my problem was due to the initial gem
release didn't work with 1.8.4

So I upgraded to a source install of 1.8.6 to /usr/local/lib and thats when I ran into more (non gem
related) problems.

I finally solved them all, but from now on I'm sticking with source installs and staying away from
apt installs for any ruby related thing.

One gotcha is when you move from /usr/lib to /usr/local/lib you need to pretty much reboot to flush
the library caches etc. Also for safe measure I renamed all the /usr/bin and /usr/lib/ruby stuff to
old so I don't pick them up. Especially note that apt seems to have a /usr/lib/siteruby whereas
source installs have a /usr/local/lib/ruby/siteruby which does seem to confuse a lot of things.

Lastly I think mixing and matching apt installs with source installs seems very problematical, so
avoid it :) Unfortunately the apt system never has the latest gem or ruby so if you need them go for
source installs.

One thing I didn't try which may have worked better was to build a ruby apt package and install
that, ditto for gem.

Best of luck!
 
J

Jonathan Hernandez

Ok, i solved the problem (i had it in many computers, all of them
Ubuntu). The problem was /usr/bin/gem is not updated. Seems all the
files but /usr/bin/gem are updated to 1.0.1

First of all:

gem update --system

I renamed all de /usr/local/bin/gem* to /usr/local/bin/gem*.bak (if
any). All the good bins are in my /usr/bin/gem* (only one place)

Then i overwrite that /usr/bin/gem with an updated copy. I put here the
contents of an 1.0.1 /usr/bin/gem script if anyone wants to manually
copy-paste it:

#-------------------------------------------------------------------------
#!/usr/bin/ruby1.8
#--
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
# All rights reserved.
# See LICENSE.txt for permissions.
#++

require 'rubygems'
require 'rubygems/gem_runner'

required_version = Gem::Requirement.new ">= 1.8.2"

unless required_version.satisfied_by? Gem::Version.new(RUBY_VERSION)
then
abort "Expected Ruby Version #{required_version}, was #{RUBY_VERSION}"
end

# We need to preserve the original ARGV to use for passing gem options
# to source gems. If there is a -- in the line, strip all options after
# it...its for the source building process.
args = !ARGV.include?("--") ? ARGV.clone : ARGV[0...ARGV.index("--")]

Gem::GemRunner.new.run args
#-------------------------------------------------------------------------

After that, all the problems are gone:

# gem -v
1.0.1

Regards,
 
E

Eric Hodel

I'm also in the same situation (ruby from Apt and RubyGems manually
installed). If i do:

# gem env
/usr/local/bin/gem:23: uninitialized constant Gem::GemRunner
(NameError)

# diff /usr/local/bin/gem /usr/bin/gem
#
(no differences)

I've upgraded from rubygems 0.9.2. If i return back:

~/rubygems-0.9.2# ruby setup.rb
(...)
~/rubygems-0.9.2# gem env
RubyGems Environment:
- VERSION: 0.9.2 (0.9.2)
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- GEM PATH:
- /usr/lib/ruby/gems/1.8
- REMOTE SOURCES:
- http://gems.rubyforge.org
~/rubygems-0.9.2# gem update --system
(...)
~/rubygems-0.9.2# gem -v
/usr/local/bin/gem:23: uninitialized constant Gem::GemRunner
(NameError)

I know from other installs that rubygems 0.9.5 works perfectly with
ruby
1.8.6 (ubuntu's apt).

Can you get a complete install log?
 

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

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,810
Latest member
Kassie0918

Latest Threads

Top