John T. wrote:
> Eric Hodel wrote:
>> There is no pre-built sqlite3-ruby for any platform.
>>
>> http://rubyforge.org/frs/?group_id=254&release_id=25302
>
> Yes, and has been posted about previously (without any replies), not
> having a pre-built sqlite3-ruby causes "gem update" to fail on Windows
> systems, preventing other gems to be updated.
Yes, this is correct.
Previous versions of sqlite3-ruby had win32 versions (e.g.
sqlite3-ruby-1.2.3-mswin32.gem) and these installed fine. If I issue the
following command, the sqlite3-ruby gem installs just fine:
$ gem install sqlite3-ruby --version 1.2.3
Successfully installed sqlite3-ruby-1.2.3-x86-mswin32
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.3-x86-mswin32...
Installing RDoc documentation for sqlite3-ruby-1.2.3-x86-mswin32...
The problem then comes when I run gem update: gems fails to recognise
that the lastest sqlite3-ruby gem does not have a win32 version. It
tries to install the latest, incompatible, version, and fails. The whole
gem update process then stops, thus making a complete update of all gems
impossible.
I should also point out that this issue isn't specific to the
sqlite3-ruby gem; the hpricot gem also triggers this problem.
> Is there a way to tell gem update to either skip that one gem , or
> continue updating the rest of the gems?? Until there's a win32 built
> version of sqlite3-ruby, this will be causing problems.
Yes, I would suggest a few solutions:
* Add some logic to gem update that looks for the platform and tests to
see if the lastest version of a given gem is compatible with that
platform. If it isn't, drop back a version until a compatible version is
found.
* When a gem fails to update, don't kill the whole update; just skip the
gem that wouldn't update.
* Allow for an option to be supplied to gem update that skips supplied
gems. E.g., gem update --skip sqlite3-ruby hpricot
Charles
--
Posted via
http://www.ruby-forum.com/.