Wie installiere ich libssl-dev, libffi-dev auf einem Mac?


18

Ich kann libssl-devund libffi-devunter Ubuntu mit dem Befehl apt-get install libssl-dev libffi-devinstallieren, aber ich kann nicht auf Mac installieren; Ich habe versucht, den Befehl zu verwenden: brew install libssl-dev libffiaber nicht für mich zu arbeiten.

Was muss ich tun, damit Homebrew dies installiert?


Antworten:


18

Diese speziellen Pakete existieren nicht unter diesen Namen auf MacPorts und Homebrew - daher die Fehler, die Sie erhalten. Um diese speziellen Pakete unter OS X zu installieren, sollten Sie verwenden openssl. Der folgende Befehl soll Ihnen helfen:

brew install openssl

Wenn Sie bereits opensslinstalliert haben, führen Sie die folgenden Schritte aus, um das Problem zu beheben. Einige Benutzer von Stack Overflow haben dies als Fehlerbehebung gemeldet, als sie versuchten, Django zum Laufen zu bringen.

brew unlink openssl && brew link openssl --force

Wie macht man das ohne Gebräu und ohne Sudo?
Tommy.carstensen

2
opensslist nicht dasselbe wie libssl-dev. Der erste dient zur direkten Verwendung, der zweite zum Verknüpfen. UPD: ok, für Mac sind sie in einem Paket gebündelt, aber Sie müssen ausführenexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Imaskar

10

Ich habe versucht, Crystal unter MacOS Mojave in Betrieb zu nehmen, und bin auf ein ähnliches Problem gestoßen.

Dies ist die Fehlermeldung, die ich gesehen habe:

Error: execution of command failed with code: 1: `cc "${@}" -o '/Users/mymbp/.cache/crystal/crystal-run-server.tmp'  -rdynamic  
`command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'` `command -v pkg-config > /dev/null && pkg-config --libs
 --silence-errors libcrypto || printf %s '-lcrypto'` -lz -lpcre -lgc -lpthread 
/usr/local/Cellar/crystal/0.27.0/src/ext/libcrystal.a -levent -liconv -ldl -
L/usr/lib -L/usr/local/lib`

Suche in / usr / local / lib Ich habe festgestellt, dass libssl nicht erwähnt wurde.

Also habe ich einen Symlink hinzugefügt und das schien das Problem zu beheben.

ln -s /usr/local/Cellar/openssl/1.0.2p/lib/libssl.dylib /usr/local/lib/

Hinweis: Die aktuelle Version von openssl, die gebraut wird, ist 1.0.2p. Ihre Version kann anders sein.


7
Ähnliches Problem gilt auch für Kristall. Ich konnte export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/es hier zum Laufen bringen: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
Jay Dorsey

2

opensslwurde bereits installiert, aber ich konnte nicht bauen, psycopg2weil es sich über fehlende beschwerte -lssl. Ich habe die Schritte von Simon Sheehan befolgt, aber es war immer noch nicht verfügbar.

Aber wenn Sie sich die Nachricht nach dem Erzwingen der Verknüpfung ansehen, öffnen Sie:

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

Also habe ich getan, was es sagt. Ich habe diese beiden Zeilen in meine hinzugefügt ~/.bashrc. Und psycopg2diesmal fehlerfrei gebaut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.