2011-07-12 2 views
1

Je dois exécuter une application Rails (3.0.6) localement qui nécessite Ruby 1.9.2 (plus Mongo). Je voudrais installer Ruby 1.9.2 à côté de mon 1.8.7 existant et pouvoir échanger entre eux si nécessaire. Je préfère installer à usr/local sur Macports etc. Des recommandations? J'ai essayé d'installer RVM mais cela a été si douloureux sur OS X que je préfère éviter ça aussi.Installation de Ruby 1.9 sur OS X Leopard en utilisant/usr/local - Problèmes RVM

Existe-t-il une autre façon d'exécuter plusieurs versions de Ruby (peut-être with a prefix like this)? Je dois seulement passer à 1.9 pour ce projet. Ou quelqu'un a-t-il une bonne solution à l'OS X/RVM connu installissues? Plus précisément, sur Tiger/10.4 bash ne supporte pas errtrace.

Mise à jour: résolu avec un nouveau script d'installation RVM: voir RVM on OS X 10.4 - possible?.

+0

Je ne suis pas sûr pourquoi l'installation de RVM serait une douleur. Je l'ai fait plusieurs fois. Le plus important est de lire complètement les instructions d'installation et de ne PAS utiliser root pour une installation mono-utilisateur. Une fois qu'il est installé, tapez 'rvm notes' et faites ce qu'il dit. –

+0

Je suis conscient de ces choses, mais il y a des problèmes sur OS X: http://groups.google.com/group/rubyversionmanager/browse_thread/thread/bc658ca82c40a533 –

Répondre

0

Si vous téléchargez la source et le compiler, il faut installer dans/usr/local par défaut, ou vous pouvez

./configure --prefix=/usr/local 

juste pour être sûr.

En fait, la compilation et l'installation de rubis de la source est un moyen facile d'être sûr que vous avez la dernière version, surtout si vous utilisez git et github:

https://github.com/ruby/ruby

+0

Heureux de le faire, mais j'ai besoin de préserver le système Ruby sur OS X et passez-y comme nécessaire, d'où l'option RVM - à moins qu'il y ait un autre moyen? –

+1

@Dave Je n'en ai pas devant moi, mais je pensais que l'arborescence/usr/local est vide sur Mac? Le système ruby ​​est/usr/bin/ruby, qui est un lien vers /System/Library/..long,wrong path ../ usr/bin/ruby ​​donc il n'y a pas de risque de l'écraser. Le programme d'installation en un clic d'OS X: http://rubyosx.rubyforge.org/ place également ruby ​​dans/usr/local. Peut-être que c'est ta réponse. – Dmitri

+0

Il est vide par défaut, donc installer quelque chose de personnalisé (pas seulement Ruby) dans/usr/local sous OS X garantit que les mises à niveau du système ne remplacent généralement pas nos installations. Le programme d'installation en un clic ne va pas assez haut pour mon système, donc je dois encore installer à partir de la source. Mais comment échanger entre eux? –

2

RVM est vraiment la solution la plus simple, et Je vous recommande fortement d'essayer de résoudre ce problème en premier. Le seul conseil est de vous assurer que vous configurez votre variable PATH pour inclure/usr/local/bin avant tout le reste. Dans votre .profile ou .login (selon votre shell), vous devriez avoir vers le bas, dans le cas où il y a d'autres lignes configuration et PATH, puis pour la famille Bourne shell:

export PATH="/usr/local/bin:$PATH

ou pour la famille C-shell:

set path = (/usr/local/bin $PATH)

./configure seul devrait faire installer dans /usr/local, mais vous pouvez indiquer explicitement avec ./configure --prefix=/usr/local

+0

Déjà fait, mais il ya des problèmes avec l'installation RVM: http://bit.ly/mWkDBj –

+1

Ruby est vraiment si cassé que le câblage des numéros de version majeur et mineur dans les applications vraiment "la solution la plus facile"? Plus facile que 'git clone; ./configure; faire' ? – Dmitri

+0

Eh bien, je pourrais essayer cela quand je reviens d'un court séjour ... oui, il y a une casse dans le système OS X Ruby. –

1

Installez Ruby à partir de la source et il sera par défaut/usr/local/bin. Ajustez votre chemin, la ligne #!, ou votre /usr/local/bin/ruby source.rb si nécessaire pour basculer entre l'installation de Ruby par Apple, et celle que vous ajoutez.

Vous pouvez forcer un nouveau répertoire de base en utilisant ./configure --prefix=/... où '...' est le chemin que vous voulez. Encore une fois, une fois les fichiers installés, vous pouvez ajuster l'exécution de Ruby avec l'une des méthodes ci-dessus. N'essayez pas de retirer Ruby installé par Apple. C'est là pour leur usage, pas pour notre commodité, et Apple l'utilise pour fournir certaines fonctionnalités. Le déranger ou l'enlever pourrait casser des choses, et vous ne le remarqueriez probablement pas pendant un moment.

RE: RVM, C'est vraiment le moyen préféré d'installer un utilisateur Ruby. Je l'ai sur deux Mac, et une poignée de boîtes Linux différentes et la seule fois où j'ai eu des problèmes avec une machine sécurisée derrière des pare-feu, mais je ne peux pas blâmer RVM pour ces problèmes quand il ne pouvait pas voir internet.Et, oui, je l'ai bien fonctionné, j'ai juste dû insérer les archives Ruby téléchargées manuellement dans le répertoire ~/.rvm/archives.

Si vous rencontrez des problèmes et que vous souhaitez l'utiliser, il peut être utile de supprimer temporairement vos scripts de démarrage ou de créer un utilisateur temporaire et de voir ce qui se passe. De plus, l'auteur a été très réactif et utile les quelques fois où je lui ai posé des questions. Contactez-le au:

 
If you still cannot find what an answer to your question, find me 'wayneeseguin' in #rvm on irc.freenode.net: 

    http://webchat.freenode.net/?channels=rvm 
+0

Merci, c'est très clair - j'essaierai la semaine prochaine quand je reviendrai des vacances - j'apprécie l'offre IRC :-) –

+0

Toujours essayer l'installation de RVM: le chemin obtenu dans .bash_login (en bas des autres choses) tous les prérequis existent. L'exécution de la commande dans les instructions d'installation a donné deux répertoires vides à l'intérieur de ~/.rvm, mais 2 erreurs: ligne 6: set: errtrace: nom d'option invalide, et ligne 166: opérateur binaire conditionnel attendu. Le téléchargement et l'exécution du script rvm.sh lui-même font de même. J'ai trouvé que bash 10.4 ne supporte pas errtrace, a commenté ces lignes, a obtenu le repo, mais l'installation a jeté des erreurs similaires dans ./scripts/install (ligne 6: set: errtrace: nom d'option invalide) encore 'installer' est un fichier vide? –

+0

@ dave-everitt vous pouvez essayer d'installer une nouvelle version de bash dans/usr/local. Prenez le paquet de construction à partir de http://www.gnu.org/software/bash/ – Kelvin