The aim of this project is, at first, to create a re-implementation of the RubyGems install command, which should be easier to get up and running on Ruby implementations such as MacRuby.
What's up with the ‘illegal character’ ?
If a character is not in the ASCII table, it doesn’t make it illegal or however people are calling them nowadays. That’s problem it was trying to draw attention to. I see people normalizing these types of characters in places where unicode is very very valid. Just because it looks like a `u' does not make it one…
But after multiple request it was decided to add an executable without a multibyte character; ugem.
If you are hardcore, you can get the `µ' character on OS X with: ⌥ + M (that’s the ALT key…)
Tell me more, more!
Mu (uppercase Μ, lowercase μ; Greek: Μι or Μυ [mi]) is the 12th letter of the Greek alphabet. In Unicode, the upper and lower case mu are encoded at U+039C and U+03BC respectively. In ISO 8859-7 they are encoded at CCHEX and ECHEX. The micro sign or micron is considered a distinct character from the Greek alphabet letter by Unicode for historical reasons (although it is a homoglyph)
Because µ is the abbreviation for the Metric System prefix micro-, the symbol is used in many word plays about the field of micro-computing.
So to recap, it’s ‘micro’ in MicroGem, got it?
On Ruby with working RubyGems
$ sudo gem install alloy-microgem -s http://gems.github.com
On Ruby without working RubyGems (eg MacRuby)
$ git clone git://github.com/alloy/microgem.git $ cd microgem
Install the remote gem:
$ sudo env PRODUCTION=true macruby ./bin/µgem install alloy-microgem --simple --debug
Microgem is an unsophisticated package manager for Ruby. And the first commandline utility to start with a multibyte character; µ Usage: µgem [command] [arguments…] [options…] Example: µgem install rake µgem install rails --force µgem cache update --debug Options: --debug Raises the log level to `debug' --force Forces a command --simple-downloader Use curl to download files instead of Net::HTTP --simple-unpacker Use external tools to unpack archives instead of Zlib --simple Enables --simple-downloader and --simple-unpacker --help Show help information
Get the source:
$ git clone git://github.com/alloy/microgem.git
Install a gem:
$ ./bin/µgem install rake
Note that unless you set the PRODUCTION environment variable everything is installed in ./tmp.
The current default sources are rubyforge and github.
There are a lot of limitations currently compared to RubyGems. The most important ones are:
Does not install C extensions yet.
The way it's being developed is in a test and RubyGems data driven manner. We are using the `quick' marshalled specs, so we use those fixtures to run the tests.
If you encounter an invalid gemspec, RubyGems will warn you about it, then please add it to test/regression/gemspecs and send me a pull request.
Clean room design.
Naive, no more code than necessary should be written. (YAGNI)