Je sais qu'il y a quelques problèmes de silimar dans celui-ci, mais je ne trouve pas celui qui correspond à mon problème.
Je ne peux installer aucune version de ruby avec rvm ou rbenv. Les deux entraînent la même erreur. Par exemple, voici un extrait des journaux lors de l'installation de ruby 2.5.3:
gcc --version Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1 Apple LLVM version 10.0.0 (clang-1000.10.44.4) Target: x86_64-apple-darwin18.0.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Le problème semble être ici:
/opt/local/bin/ranlib: object: libruby.2.5.3-static.a(dln.o) malformed object (unknown load command 1) ar: internal ranlib command failed make: *** [libruby.2.5.3-static.a] Error 1
Quelle est la cause de cela?
gcc --version
renvoie:
compiling loadpath.c making srcs under enc linking static-library libruby.2.5.3-static.a make[1]: Nothing to be done for `srcs'. generating transdb.h /opt/local/bin/ranlib: object: libruby.2.5.3-static.a(dln.o) malformed object (unknown load command 1) ar: internal ranlib command failed make: *** [libruby.2.5.3-static.a] Error 1 make: *** Waiting for unfinished jobs.... transdb.h updated
3 Réponses :
Donc, je pense que le correctif était en cours d'exécution:
$ sudo xcodebuild -runFirstLaunch
Pourquoi? Je ne suis pas sûr. Je soupçonne que j'ai essayé de construire ruby avant de mettre à jour XCode. Mais une fois que j'ai mis à jour XCode, je soupçonne que le mauvais / ancien outil de ligne de commande était encore référencé d'une manière ou d'une autre.
Je ne sais pas exactement ce qui a résolu ce problème, mais j'ai complètement supprimé XCode et ruby ne s'est toujours pas installé.
Ensuite, j'ai complètement supprimé les outils de ligne de commande et ruby ne s'est toujours pas installé.
Ensuite, j'ai réinstallé uniquement les outils de ligne de commande sans XCode et ruby ne s'est toujours pas installé.
Ensuite, j'ai exécuté cette commande runFirstLaunch
et ruby installé.
Pour tous ceux qui marchent sur la même mine terrestre, pour moi, c'était qu'il y avait une copie incompatible de ranlib
depuis homebrew
via le cctools code > paquet. Pour le réparer, je viens de le désinstaller:
brew uninstall cctools
Merci pour la solution! Après avoir tenté tant de suggestions, c'est ce qui a finalement permis à rvm d'installer à nouveau de nouvelles versions de Ruby sur mon Mac.
Merci beaucoup d'avoir partagé ceci. Cela semble être une situation rare, mais cela rend seulement diaboliquement difficile à régler.
J'ai eu le même problème avec rbenv et je cherche la solution depuis des jours, ce qui a finalement résolu le problème! Merci beaucoup!
Pour ceux qui trouvent ceci et qui ne sont pas aidés par la solution ci-dessus ...
J'ai également rencontré ce problème. Dans mon cas, cela était dû au fait que MacPorts était obsolète après la mise à niveau vers (MacOS) Mojave.
J'ai suivi les étapes répertoriées dans le guide de migration de MacPorts ici: https://trac.macports.org/wiki/Migration
Terminal fermé et rouvert (juste b / c)
a exécuté rvm install ruby
et obtenu Installation de ruby-2.6.0 - #complete
, hourra!
S'agit-il d'une nouvelle installation de Mojave ou avez-vous mis à niveau depuis (High) Sierra?
IIRC,
/ opt / local
est le préfixe par défaut pour MacPorts. Peut-être avez-vous une installation gcc défectueuse? Que ditgcc --version
? BTW, j'exécute le gcc par défaut fourni avec macOS / XCode et l'installation de rbenv fonctionnait très bien.Salut Stefan, merci. C'était donc une mise à niveau de Sierra. J'ai mis à jour la question avec le résultat de la
version
. Fait intéressant, lorsque j'ai essayé d'installer quelque chose aujourd'hui en utilisant macports (que je n'utilise généralement pas), je pense que XCode n'est pas installé ... 🤔Mon
gcc --version
affiche/Applications/Xcode.app/Contents/Developer
au lieu de/ Library / Developer / CommandLineTools
. C'est également ce quexcode-select -p
imprime. J'ai également des versions légèrement supérieures, à savoirclang-1000.11.45.5
etx86_64-apple-darwin18.2.0
. Peut-être que vous utilisez une version obsolète (ou spécifique à Sierra)? Avez-vous essayé d'installer XCode à partir de zéro?BTW, avez-vous essayé de réinstaller (ou de supprimer) ranlib de MacPort? (ou le paquet dont il provient)
hé @Stefan merci! Ouais je vais essayer Xcode, bonne idée. En termes de ranlib, ce n'est pas dans ma liste macports et je ne sais honnêtement pas d'où cela vient. En fait, la liste macport affiche 0 (je ne me souviens pas avoir jamais utilisé explicitement macports, j'utilise généralement brew pour tout)
Dans ce cas, essayez de désinstaller MacPorts , donc
/ opt / local / bin / ranlib
n'est plus utilisé.@Stefan merci encore! Ok, je vais devoir attendre que XCode se télécharge / s'installe à nouveau, alors laissez-moi vous répondre dans 4 ans ... 😬