Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mac上的libmysqlclient15开发?_Mysql_Ruby_Linux_Macos - Fatal编程技术网

Mac上的libmysqlclient15开发?

Mac上的libmysqlclient15开发?,mysql,ruby,linux,macos,Mysql,Ruby,Linux,Macos,OSX是否需要安装libmysqlclient15 dev?我正在尝试编译一个失败的gem,很多源代码都说要安装“libmysqlclient15 dev”,但我只在Linux上看到了这一点,而没有在OSX上看到。我在这里遗漏了什么吗?是的,您需要安装这个。例如,如果您试图安装mysql gem,您将需要mysql库的头。这是因为一些gem需要编译本机扩展,因此它们需要扩展所使用的任何第三方库的头文件 在Mac OS X上,我建议使用MacPorts来管理这些库/头的安装。这些说明适用于Debi

OSX是否需要安装libmysqlclient15 dev?我正在尝试编译一个失败的gem,很多源代码都说要安装“libmysqlclient15 dev”,但我只在Linux上看到了这一点,而没有在OSX上看到。我在这里遗漏了什么吗?

是的,您需要安装这个。例如,如果您试图安装mysql gem,您将需要mysql库的头。这是因为一些gem需要编译本机扩展,因此它们需要扩展所使用的任何第三方库的头文件


在Mac OS X上,我建议使用MacPorts来管理这些库/头的安装。

这些说明适用于Debian类型的Linux。与Debian for OS X最接近的是。在安装和设置之后,您可以说
fink install mysql unified dev
,以获得与在Debian或Ubuntu类型系统上请求
libmysqlclient15 dev
基本相同的东西

请注意,Fink将其包安装在
/sw
中,并且并非所有构建脚本都知道在那里查找库和头。您可能必须提供自定义构建选项,才能让它解决这个问题

一种可能更成功的方法是下载。这应该包括与
libmysqlclient15 dev
相同的开发文件,作为奖励,它将把它们放在您的gem更可能找到的地方


(顺便说一句,为什么是5.0?因为这与ABI版本15相对应,而您的软件包显然需要它。也许它实际上可以与5.1、5.4或6.0一起使用,但这将是您必须自己决定承担的风险。)

brew安装mysql
为我修复了此问题

如果您使用mysql dmg文件安装mysql,则需要编辑~/.bash_配置文件并包括以下内容:

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

我知道这很古老,但谷歌把我带到了这里。假设2018年在OSX上使用python3的解决方案

brew安装mysql客户端
echo'export PATH=“/usr/local/opt/mysql client/bin:$PATH”>>~/.bash\u profile
source~/.bash_配置文件
pip安装mysqlclient

我也遇到了同样的问题,只得到了部分有效的解决方案。 以下是我为使其工作而采取的步骤:

  • brew安装mysql客户端
  • brew安装mysql-connector-c
如果您有ZSH:

  • echo'export PATH=“/usr/local/opt/mysql client/bin:$PATH”>~/.zshrc

  • source~/.zshrc

其他

  • echo'export PATH=“/usr/local/opt/mysql client/bin:$PATH”>~/.bash\u profile

  • source~/.bash\u配置文件

现在,对于安装本身:

  • LDFLAGS=-Lpip安装mysqlclient=
    版本
例如
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient==1.3.12

是的,这是在OS X上获取MySQL C API库的另一种方法。它比Fink有一个很大的优势,那就是它将东西安装到
/usr/local
中,而其他软件包可能已经安装到了,不需要任何特别提示。你不知道你刚才用这个救了我有多头痛,非常感谢@drhennerI我无法用语言表达我对你的爱,我已经被这个错误困扰了3天。非常感谢。这主要是因为pip安装失败,导致-lssl
@Mobigital的ld:library未找到。此处出现相同错误,您找到解决方案了吗?卡在
ld:library not found for-lssl
上对我来说也是同样的错误..该死的
ld:library not found for-lssl
对我来说非常有效!上述内容应该是对“如何在MacOS上使用brew在Python3(venv)中安装MySQLdb库”这一通用问题的回答,但是,截至2021年5月16日,brew香草版安装在/opt/homebrew中,mysql-connector-c和mysql客户端现已合并,因此简而言之,
brew安装mysql客户端
,然后遵循相同的ZSH/BASH建议,并将路径改为
/opt/homebrew/opt/mysql-client/bin:$path