Làm cách nào để cài đặt libssl-dev, libffi-dev trên Mac os?


18

Tôi có thể cài đặt libssl-devlibffi-devtrên Ubuntu bằng lệnh apt-get install libssl-dev libffi-dev, nhưng tôi không thể cài đặt trên Mac; Tôi đã thử sử dụng lệnh: brew install libssl-dev libffinhưng không làm việc cho tôi.

Tôi cần làm gì để có được homebrew để cài đặt cái này?


Câu trả lời:


18

Các gói cụ thể đó không tồn tại dưới các tên đó trên cả MacPorts và Homebrew - do đó các lỗi bạn đang nhận được. Để cài đặt các gói cụ thể này trên OS X, bạn sẽ muốn sử dụng openssl. Lệnh sau sẽ giúp bạn hiểu:

brew install openssl

Nếu bạn đã opensslcài đặt, hãy thử chạy phần sau để sửa chữa nó - một số người dùng trên Stack Overflow đã báo cáo đây là bản sửa lỗi khi cố gắng để Django hoạt động.

brew unlink openssl && brew link openssl --force

Làm thế nào để bạn làm điều đó mà không có bia và không có sudo?
tommy.carstensen

2
opensslkhông giống như libssl-dev. Cái đầu tiên là để sử dụng trực tiếp, cái thứ hai là để liên kết. export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
CẬP NHẬT

9

Tôi đã cố gắng đưa Crystal lên khỏi mặt đất trên MacOS Mojave và gặp phải một vấn đề tương tự.

Đây là thông báo lỗi tôi đã thấy:

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`

Tìm kiếm / usr / local / lib Tôi nhận thấy không có đề cập đến libssl.

Vì vậy, tôi đã thêm một symlink và dường như để sửa nó.

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

Lưu ý: Phiên bản hiện tại của openssl mà brew drop là 1.0.2p, phiên bản của bạn có thể khác.


7
Vấn đề tương tự, với tinh thể là tốt. Tôi đã có thể export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/và chạy nó ở đây: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
Jay Dorsey

1

opensslđã được cài đặt, nhưng tôi không thể xây dựng psycopg2vì nó phàn nàn về việc mất tích -lssl. Tôi đã làm theo các bước từ Simon Sheehan nhưng nó vẫn không có sẵn.

Nhưng nhìn vào thông báo sau khi lực lượng liên kết openssl:

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"

Vì vậy, tôi đã làm những gì nó nói. Tôi đã thêm hai dòng đó vào ~/.bashrc. Và được psycopg2xây dựng mà không có lỗi lần này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.