Sponsored Content
Top Forums UNIX for Dummies Questions & Answers What Makes an App the System Default? Post 302770437 by bakunin on Friday 15th of February 2013 09:51:55 PM
Old 02-15-2013
I notice with satisfaction you still tenaciously learn UNIX despite my efforts to let the subject look boring and hard to grasp - good!
Quote:
Originally Posted by sudon't
Code:
$ sudo gem install scrabble-solver
ERROR:  Error installing scrabble-solver:
	scrabble-solver requires Ruby version >= 1.9.2

$ which ruby
/usr/bin/ruby

$ ls -l /opt/local/bin/ |grep ruby
-rwxr-xr-x   1 root  admin     9024 Feb  6 11:21 ruby1.9
$

Why didn't ruby 1.9 become the default? How does the system determine which app is the default? I used to think it simply accepted the first one it came across in my PATH, but clearly that is not the case.
Code:
$ echo $PATH
/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/MacGPG2/bin:/usr/X11/bin

To me it looks like the problem is the name: the new ruby in "/opt/local/bin" is not named "ruby", but "ruby1.9". If you issue which ruby1.9 you would probably see this one, but if you search for "ruby", you get the one in "/usr/bin" simply because it is the only "ruby" you have.

Now, why ruby decided to install as "ruby1.9" and not as "ruby" i don' know. I don't know Macs version of UNIX at all, so i can only tell you what is the possible reason for the problem, not how to solve it.

You can, of course, try to solve the problem brute-force:

Rename "/usr/bin/ruby" to something else, say, "/usr/bin/ruby1.8". Then create a softlink:

Code:
ln -s /opt/local/bin/ruby1.9 /usr/bin/ruby

Whenever "ruby" is used, this link is followed and your new executable is used. If this works, i don't know. (There might be libraries or whatever necessary for ruby to work and it will probably not find them in any arbitrary place.) If this is not working, just delete the softlink and move the original ruby back into place:

Code:
rm /usr/bin/ruby
mv /usr/bin/ruby1.8 /usr/bin/ruby

I hope this helps.

bakunin
 

3 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Loading App as the System starts

Hi Folks! I am a Mac OS X user, and have written an Applescript application that I would like it to be run before the user logs in. I have tryed leaving the Mac on the "Login Screen", that screen just before you log in typing name and password, and logging using ssh from another Mac on the... (0 Replies)
Discussion started by: fundidor
0 Replies

2. UNIX for Dummies Questions & Answers

chmod ug-s /System/Library/CoreServices/RemoteManagement/ARDAgent.app/.... NOT PERMITTED

After much reflecting I decided that I don't want to have a remote managemente in my computer and I digited in Terminal from the Administrator Account: chmod ug-s /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent But the answer is: NOT PERMITTED Why? Is it not... (6 Replies)
Discussion started by: Vera
6 Replies

3. Programming

Wuhan Coronavirus Status App for China - Rapid Prototype using MQTT and the IoT OnOff IOS App

With a little bit of work, was able to build a nice "Wuhan Coronavirus Status" app using MQTT and the IoT-OnOff app. More on this technique here: ESP32 (ESP-WROOM-32) as an MQTT Client Subscribed to Linux Server Load Average Messages The result turned out nice, I think. I like the look and... (10 Replies)
Discussion started by: Neo
10 Replies
RUBY-BUILD(1)															     RUBY-BUILD(1)

NAME
ruby-build - compile and install Rubies SYNOPSIS
ruby-build [-v|--verbose] [-k|--keep] definition prefix ruby-build --definitions ruby-build --version ruby-build [-h|--help] rbenv install [-k|--keep] definition DESCRIPTION
ruby-build provides a simple way to compile and install different versions of Ruby on UNIX-like systems. ruby-build downloads, builds and installs the Ruby version specified in a definition into a prefix directory. Definitions can be chosen from the list of installed definitions or by specifying a file path for a definition. rbenv(1) users can also use the provided rbenv install command, which installs Rubies into the rbenv directory. OPTIONS
--definitions List available definitions. -k, --keep Don't delete source code after installation. -v, --verbose Display compiler messages on standard output. --version Show ruby-build version and exit. -h, --help Show usage information and exit. EXAMPLES
Install Ruby 1.9.3 (MRI, patch level 0) to ~/rubies/mri-1.9.3 $ ruby-build 1.9.3-p0 ~/rubies/mri-1.9.3 Install Ruby Enterprise Edition 1.8.7 (patch level 2011.03) for rbenv(1): $ rbenv install ree-1.8.7-2011.03 Install Ruby from a custom definition into ~/your-ruby: $ rbenv install /path/to/your/own/ruby/definition ~/your-ruby ENVIRONMENT
CC Sets the path to the C compiler. CONFIGURE_OPTS Options that are passed to configure when building a Ruby. MAKE_OPTS Options that are passed to make when building a Ruby. MAKEOPTS Used instead of MAKE_OPTS when MAKE_OPTS is not defined. TMPDIR Sets the location where ruby-build stores temporary files. RUBY_BUILD_BUILD_PATH Sets the location in which sources are downloaded and built. AUTHORS
ruby-build is developed by Sam Stephenson <sam@37signals.com>. This man page was written for the Debian GNU/Linux distribution by Sebastian Boehm <sebastian@sometimesfood.org> but may be used by others. SEE ALSO
rbenv(1) June 2012 RUBY-BUILD(1)
All times are GMT -4. The time now is 02:45 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy