Tampilkan postingan dengan label RubyGems. Tampilkan semua postingan
Tampilkan postingan dengan label RubyGems. Tampilkan semua postingan

September 01, 2010

Masalah upgrade Ruby di Arch Linux

Untuk rekan-rekan yang menggunakan Arch Linux, proses update dan upgrade Ruby dari versi 1.9.1 (atau 1.8.7 juga ya?) ke versi berikutnya (1.9.2) mungkin bisa melihat ada masalah. Mulai dari instalasi yang gagal karena menumpuki file-file lama di /usr/share/ri dan /usr/lib/ruby, sampai dengan gem yang jika dijalankan malah memunculkan error.

Saya belum melihat ke bug yang di-report, tapi langsung saya mencoba otak atik. Untuk instalasi saja sebenarnya bisa selesai dengan menyertakan --force:

# pacman -S --force ruby

Sayangnya, ini akan menimbulkan kekacauan saat menjalankan 'gem'. Jika mengalami masalah ini, silahkan uninstall ruby, hapus direktori /usr/lib/ruby dan /usr/share/ri. Setelah itu, baru install ruby yang baru.

Catatan: Upgrade ke 1.9.2 perlu dilakukan jika kita ingin menggunakan Rails 3.0.

Selamat mencoba.

Februari 20, 2010

RubyGems Update 1.3.5 to 1.3.6

At first, I thought that RubyGems update should be a piece of cake but it turns out that I got some weird things happened. Here’s the scenario:

[root@bpdp-arch ~]# gem update --system
Updating RubyGems

Updating rubygems-update

Successfully installed rubygems-update-1.3.6

Updating RubyGems to 1.3.6
Installing RubyGems 1.3.6
RubyGems 1.3.6 installed
=== 1.3.6 / 2010-02-17
NOTE:
http://rubygems.org is now the default source for downloading gems.
You may have sources set via ~/.gemrc, so you should replace
http://gems.rubyforge.org with http://rubygems.org
http://gems.rubyforge.org will continue to work for the forseeable future.
New features:
* `gem` commands
 * Added `gem push` and `gem owner` for interacting with modern/Gemcutter
 sources
 * `gem dep` now supports --prerelease.
 * `gem fetch` now supports --prerelease.
 * `gem server` now supports --bind.  Patch #27357 by Bruno Michel.
 * `gem rdoc` no longer overwrites built documentation.  Use --overwrite
 force rebuilding.  Patch #25982 by Akinori MUSHA.
* Captial letters are now allowed in prerelease versions.
Bug fixes:
* Development deps are no longer added to rubygems-update gem so older
 versions can update sucessfully.
* Installer bugs:
 * Prerelease gems can now depend on non-prerelease gems.
 * Development dependencies are ignored unless explicitly needed.  Bug #27608
 by Roger Pack.
* `gem` commands
 * `gem which` now fails if no paths were found.  Adapted patch #27681 by
 Caio Chassot.
 * `gem server` no longer has invalid markup.  Bug #27045 by Eric Young.
 * `gem list` and friends show both prerelease and regular gems when
 --prerelease --all is given
* Gem::Format no longer crashes on empty files.  Bug #27292 by Ian Ragsdale.
* Gem::GemPathSearcher handles nil require_paths. Patch #27334 by Roger Pack.
* Gem::RemoteFetcher no longer copies the file if it is where we want it.
 Patch #27409 by Jakub Šťastný.
Deprecation Notices:
* lib/rubygems/timer.rb has been removed.
* Gem::Dependency#version_requirements is deprecated and will be removed on or
 after August 2010.
* Bulk index update is no longer supported.
* Gem::manage_gems was removed in 1.3.3.
* Time::today was removed in 1.3.3.
------------------------------------------------------------------------------
RubyGems installed the following executables:
 /usr/lib/ruby/gems/1.9.1/gems/rubygems-update-1.3.5/bin/gem
[root@bpdp-arch ~]# logout
Piece of cake, right? Wrong. Let’s see:

[bpdp@bpdp-arch ~]$ gem env
RubyGems Environment:
 - RUBYGEMS VERSION: 1.3.5
 - RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i686-linux]
 - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1
 - RUBY EXECUTABLE: /usr/bin/ruby
 - EXECUTABLE DIRECTORY: /usr/bin
 - RUBYGEMS PLATFORMS:
 - ruby
 - x86-linux
 - GEM PATHS:
 - /usr/lib/ruby/gems/1.9.1
 - /home/bpdp/.gem/ruby/1.9.1
 - GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :benchmark => false
 - :backtrace => false
 - :bulk_threshold => 1000
 - REMOTE SOURCES:
 - http://gems.rubyforge.org/
[bpdp@bpdp-arch ~]$
So, I guess I should use old-fashioned way just as explained in manual:

[root@bpdp-arch ~]# gem install rubygems-update update_rubygems
Successfully installed rubygems-update-1.3.6
ERROR:  could not find gem update_rubygems locally or in a repository
1 gem installed
Installing ri documentation for rubygems-update-1.3.6...
Updating class cache with 132 classes...
Installing RDoc documentation for rubygems-update-1.3.6...
Could not find main page README
[root@bpdp-arch ~]# gem env
RubyGems Environment:
 - RUBYGEMS VERSION: 1.3.5
 - RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i686-linux]
 - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1
 - RUBY EXECUTABLE: /usr/bin/ruby
 - EXECUTABLE DIRECTORY: /usr/bin
 - RUBYGEMS PLATFORMS:
 - ruby
 - x86-linux
 - GEM PATHS:
 - /usr/lib/ruby/gems/1.9.1
 - /root/.gem/ruby/1.9.1
 - GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :benchmark => false
 - :backtrace => false
 - :bulk_threshold => 1000
 - REMOTE SOURCES:
 - http://gems.rubyforge.org/
[root@bpdp-arch ~]#
This didn’t work too. Looks like I need to manually execute the script to update RubyGems:

[root@bpdp-arch ~]# update_rubygems
RubyGems 1.3.6 installed

=== 1.3.6 / 2010-02-17

NOTE:
[ ... cut ... ]
[ ... cut ... ]
[ ... cut ... ]
------------------------------------------------------------------------------

RubyGems installed the following executables:
 /usr/bin/gem
[root@bpdp-arch ~]#
And then I am happy with the result:
[root@bpdp-arch ~]# gem env
RubyGems Environment:
 - RUBYGEMS VERSION: 1.3.6
 - RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i686-linux]
 - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1
 - RUBY EXECUTABLE: /usr/bin/ruby
 - EXECUTABLE DIRECTORY: /usr/bin
 - RUBYGEMS PLATFORMS:
 - ruby
 - x86-linux
 - GEM PATHS:
 - /usr/lib/ruby/gems/1.9.1
 - /root/.gem/ruby/1.9.1
 - GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :benchmark => false
 - :backtrace => false
 - :bulk_threshold => 1000
 - REMOTE SOURCES:
 - http://rubygems.org/
[root@bpdp-arch ~]#