2017-03-02 10 views
1

Ich versuche, Ruby 1.8.7 mit Rvm 1.29.1 auf einem brandneuen MBP unter OS X Sierra (neu) zu installieren. Ich HABE, um dies für die Arbeit zu tun, bin ich nicht in der Lage, zu einer aktuelleren Version oder etwas leider zu wechseln.Kann Ruby nicht installieren 1.8.7 Mac OS X Sierra

Ich hatte eine funktionale Installation von diesem aber nach ein paar seltsame Fehler in einem Projekt beschlossen, eine komplett saubere Neuinstallation von beiden rvm versuchen (und schließlich Homebrew!) (Lange Geschichte) hatte eine beschädigte Dateistruktur nach dem Entfernen eines unerwünschten Speicherplatzes aus dem Namen meines Home-Verzeichnisses!). Ich war vorsichtig, alle Spuren der alten Installation von .bashrc, .profile usw. zu entfernen, die anderen Pfosten auf hier folgen. 2.4.0 installiert und läuft gut. Doch beim Versuch 1.8.7 zu installieren:

9bxbniv1:~ Rob$ rvm install ruby-1.8.7 

Warning! Requested ruby installation which requires another ruby available - installing ruby-1.8.7-p374 first. 

ruby-1.8.7-p374 - #removing src/ruby-1.8.7-p374.. 
Checking requirements for osx. 
Certificates in '/usr/local/etc/[email protected]/cert.pem' are already up to date. 
Requirements installation successful. 
Installing Ruby from source to: /Users/Rob/.rvm/rubies/ruby-1.8.7-p374, this may take a while depending on your cpu(s)... 
ruby-1.8.7-p374 - #downloading ruby-1.8.7-p374, this may take a while depending on your connection... 
ruby-1.8.7-p374 - #extracting ruby-1.8.7-p374 to /Users/Rob/.rvm/src/ruby-1.8.7-p374.... 
ruby-1.8.7-p374 - #applying patch /Users/Rob/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch. 
ruby-1.8.7-p374 - #applying patch /Users/Rob/.rvm/patches/ruby/1.8.7/no_sslv2.diff. 
ruby-1.8.7-p374 - #applying patch /Users/Rob/.rvm/patches/ruby/GH-488.patch. 
ruby-1.8.7-p374 - #applying patch /Users/Rob/.rvm/patches/ruby/ssl_no_ec2m.patch. 
ruby-1.8.7-p374 - #configuring............................... 
ruby-1.8.7-p374 - #post-configuration. 
ruby-1.8.7-p374 - #compiling................................ 
Error running '__rvm_make -j 1', 
showing last 15 lines of /Users/Rob/.rvm/log/1488471654_ruby-1.8.7-p374/make.log 
          ^
openssl_missing.c:107:28: error: dereferencing pointer to incomplete type 
    EVP_MD_CTX_cleanup(&ctx->o_ctx); 
          ^
openssl_missing.c:108:28: error: dereferencing pointer to incomplete type 
    EVP_MD_CTX_cleanup(&ctx->md_ctx); 
          ^
In file included from /usr/include/string.h:192:0, 
       from openssl_missing.c:19: 
openssl_missing.c:109:27: error: invalid application of 'sizeof' to incomplete type 'HMAC_CTX' 
    memset(ctx, 0, sizeof(HMAC_CTX)); 
         ^
make[1]: *** [openssl_missing.o] Error 1 
make: *** [all] Error 1 
+++ return 2 
There has been an error while running make. Halting the installation. 

To proceed rvm requires a ruby-1.8.7-p374 compatible ruby is installed. 
We attempted to install it automatically but it failed with status 2. 
Please install it manually (or a compatible alternative) to proceed. 

Ich habe in Getting Ruby 1.8.7 installed on Mountain Lion (10.8) vorgeschlagen einige der Hacks versucht, aber leider, die nicht helfen. Blick weiter in die Protokolldatei der Fehler mit der folgenden Meldung beginnt:

In file included from openssl_missing.c:22:0: 
openssl_missing.h:79:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0 
EVP_MD_CTX *EVP_MD_CTX_create(void); 
           ^
In file included from /usr/local/opt/[email protected]/include/openssl/x509.h:23:0, 
       from /usr/local/opt/[email protected]/include/openssl/x509_vfy.h:17, 
       from openssl_missing.c:16: 
/usr/local/opt/[email protected]/include/openssl/evp.h:501:51: error: expected declaration specifiers or '...' before '(' token 
# define EVP_MD_CTX_init(ctx) EVP_MD_CTX_reset((ctx)) 

für die erste Zeile dieses Fehlers Suche ergab 0 Treffer hier. Vorschläge würden dankbar erhalten werden.

+0

sieht aus wie Sie ahold einer älteren Version von OpenSSL erhalten müssen gegen –

+1

zu verbinden @JimDeville Es viel komplizierter ist als das. Es ist sehr unwahrscheinlich, dass ältere Versionen von OpenSSL sogar kompiliert werden, was zu noch mehr Problemen führt. – tadman

Antwort

1

Ruby 1.8.7 ist tot und wird auf keinem modernen macOS mehr unterstützt, daher können Sie es nicht installieren. Diese Version von Ruby ist zu diesem Zeitpunkt ein historisches Artefakt, und wenn Sie es wirklich, wirklich ausführen müssen, müssen Sie entweder eine historische Version von OS X, Linux oder BSD, die damit kompatibel ist.

Mein Rat ist, Vagrant zu verwenden, um eine virtuelle Maschine zu erstellen, die über eine ältere Version von Linux oder BSD verfügt, die zum Erstellen von Ruby 1.8.7 verwendet werden kann. Alles, was aus dem Jahr 2010 oder früher stammt, wird wahrscheinlich funktionieren, also könnte Ubuntu 10.04 ein guter Anfang sein.

Es ist erwähnenswert, dass Ruby Enterprise Edition eine Variante von 1.8.7 ist, die länger als MRI 1.8.7 unterstützt wurde, so dass Sie mehr Erfolg mit dieser Version haben können. Es wurde 2012

+0

Danke für die Vorschläge. Es funktionierte irritierend mit meiner vorherigen (ansonsten zweifelhaften) Konfiguration. Dort war der Unterschied rvm eine Problemumgehung verwendet, um den Platz in meinem Home-Verzeichnis zu vermeiden, Rob.rvm in /, nicht/Users/Rob zu erstellen. Go figure ... – rwold

+1

'rvm' ist ein großartiges Werkzeug, aber es kann wirklich schief laufen, wenn Sie nicht vorsichtig sind. – tadman

4

Die neueste Entwicklungsversion von RVM arbeiten sollte abgebrochen:

rvm get head 

ich XCode-Version aktualisiert auch 8.2.1, bevor ich RVM aktualisiert, wenn Sie XCode aktualisiere Sie benötigen starten sie es und stimmen die neue Lizenz oder:

sudo xcodebuild -license 

ich es zum Laufen bringen musste mein Gebräu auch und tun Lasten aktualisieren, da es nicht für eine sehr lange Zeit berührt worden war.

Ich bin mir nicht sicher, ob Sie nur eins in Isolation tun könnten. Meine ist jetzt in Betrieb.

Ich habe meine RVM in die Luft gejagt, weil ich es außer Kontrolle geraten ließ. Wünschte, ich hätte es stattdessen gerade beschnitten. Jetzt, um die alten Rails-Apps zu starten.

+0

Perfekt !!! Aktualisieren RVM hat funktioniert ... – user3115056

+0

Ich rvm Kopf bekommen, Xcode aktualisiert dann Fehler: –

+0

Warnung: openssl 1.0.2l ist bereits installiert Warnung: libyaml 0.1.7 ist bereits installiert Warnung: libffi 3.2.1 ist bereits installiert apple -gcc42: Diese Formel kompiliert oder funktioniert nicht wie erwartet unter macOS Versionen, die neuer als Mavericks sind, aufgrund einer Upstream-Inkompatibilität. Fehler: Eine nicht erfüllte Anforderung ist in diesem Build fehlgeschlagen. –

0

Ich endete mit der Wiederherstellung meines Systems mit Zeitmaschine. Aber ein anderer Kollege hatte die gleichen Probleme Dinge auf eine neue Maschine einstellen und fand

rvm install ruby -v 1.8.7--autolibs=enable 

hilfreich, wenn jemand anderes stolpert über diese.

Verwandte Themen