由于某些安装出错,我正在尝试将 MySQL 安装到最新版本。我运行命令 gem install mysql
并收到以下信息:
构建原生扩展。这可能需要一段时间... 错误:安装 mysql 时出错:错误:无法构建 gem 原生扩展。 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb extconf.rb:4:警告:PATH 中不安全的世界可写目录 /usr/bin,模式 040777 extconf.rb:4:警告:不安全的世界可写目录 /usr/bin 在 PATH,模式 040777 extconf.rb:7:警告:不安全的世界可写目录 /usr/bin 在 PATH,模式 040777 mkmf.rb 在 /System 找不到 ruby 的头文件/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h Gem 文件将继续安装在 /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 中以供检查。结果记录到 /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
我已经搜索并尝试了很多东西,从安装特定版本到尝试重新安装 ruby,但没有任何运气。
有什么想法我可能会出错吗?
由于某些安装出错,我正在尝试将 MySQL 安装到最新版本。我运行命令 gem install mysql
并收到以下信息:
构建原生扩展。这可能需要一段时间... 错误:安装 mysql 时出错:错误:无法构建 gem 原生扩展。 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb extconf.rb:4:警告:PATH 中不安全的世界可写目录 /usr/bin,模式 040777 extconf.rb:4:警告:不安全的世界可写目录 /usr/bin 在 PATH,模式 040777 extconf.rb:7:警告:不安全的世界可写目录 /usr/bin 在 PATH,模式 040777 mkmf.rb 在 /System 找不到 ruby 的头文件/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h Gem 文件将继续安装在 /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 中以供检查。结果记录到 /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
我已经搜索并尝试了很多东西,从安装特定版本到尝试重新安装 ruby,但没有任何运气。
有什么想法我可能会出错吗?
编辑:我从 Snow Leopard DVD 上安装了 XCode,错误只是稍微更改为以下内容:
构建原生扩展。这可能需要一段时间... 错误:安装 mysql 时出错:错误:无法构建 gem 原生扩展。 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb extconf.rb:4:警告:PATH 中不安全的世界可写目录 /usr/bin,模式 040777 extconf.rb:4:警告:PATH 中不安全的世界可写目录 /usr/bin,模式 040777 extconf.rb:7:警告:PATH 中的不安全的世界可写目录 /usr/bin,模式 040777 extconf.rb:17:警告:不安全的世界可写目录 /usr PATH 中的 /bin,模式 040777 检查 -lmysqlclient 中的 mysql_query() ... 不检查 -lm 中的 main() ... 是 检查 -lmysqlclient 中的 mysql_query() ... 不检查 - lz... 是在 -lmysqlclient 中检查 mysql_query()... 在 -lsocket 中不检查 main() ... 在 -lmysqlclient 中不检查 mysql_query() ... 在 -lnsl 中不检查 main()。 .. 不检查 -lmysqlclient 中的 mysql_query() ... 不检查 -lmygcc 中的 main() ... 不检查 -lmysqlclient 中的 mysql_query() ... 不 * extconf.rb 失败 * 由于无法创建 Makefile出于某种原因,可能缺少必要的库和/或标头s。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。提供的配置选项: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib -- without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby --with-mysql-config --without-mysql-config --with-mysql-dir -- without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/ lib --with-mysqlclientlib --without-mysqlclientlib --with-mlib --without-mlib --with-mysqlclientlib --without-mysqlclientlib --with-zlib --without-zlib --with-mysqlclientlib --without- mysqlclientlib --with-socketlib --without-socketlib --with-mysqlclientlib --without-mysqlclientlib --with-nsllib --without-nsllib --with-mysqlclientlib --without-mysqlclientlib --with-mygcclib --without- mygcclib --with-mysqlclientlib --without-mysqlclientlib Gem 文件将继续安装在 /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 以供检查。结果记录到 /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
在命令行上执行“which mysql”不会返回任何内容,这意味着它无法识别它。我还安装了 MySQL 系统首选项选项,我无法阻止 MySQL 运行。现在我完全不知道该怎么做!
编辑编辑
我刚刚使用本指南完全重新安装了 MySQL http://hivelogic.com/articles/installing-mysql-on-mac-os-x
不幸的是,这也不起作用,我仍然收到相同的错误。我什至不能在命令行中执行 mysql -uroot,我收到以下错误:
ERROR 2002 (HY000): 无法通过套接字 '/tmp/mysql.sock' 连接到本地 MySQL 服务器 (2)
所以我想我已经尝试了一切。
**解决了*
对不起,这不起作用的原因是因为 MySQL 路径。我在这里写过博客:http://www.kieransenior.co.uk/2010/02/mysql-cant-connect-using-ruby-on-rails-mac-os-x-snow-leopard/
在 Debian(或 Ubuntu)系统上,只需使用以下命令安装 libmysqlclient-dev 软件包:
sudo apt-get install libmysqlclient-dev
接着:
gem install mysql
它将安装没有任何错误。
Installing the mysql gem on OSX
在终端中..首先执行'locate mysql_config',然后将以下命令中的路径替换为该文件所在的位置。
$ sudo gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions. This could take a while…
Successfully installed mysql-2.7
1 gem installed
gem install mysql -- --with-mysql-config=/Applications/XAMPP/bin/mysql_config
。不需要 sudo!
sudo locate mysql_config
才能获得配置路径。否则,它返回消息:WARNING: The locate database (/var/db/locate.database) does not exist. ...
sudo gem install mysql1 etc
,就像在此答案中一样:)
首先,您需要区分 MySQL 作为服务器、MySQL 作为客户端以及 Ruby 绑定到 MySQL。
我对 Mac 不熟悉,但对于 *nix 操作系统,您需要通过包管理器安装 MySQL。安装 Ruby 绑定
gem install mysql
您需要 ruby 的开发头文件(在 Ubuntu 中是 ruby-dev 包)和 MySQL-Client 的开发头文件(目前在 Ubuntu 中为 libmysqlclient16-dev
)。我不知道它们在 Mac 上的名称是否不同,但是在你安装了这些之后,Ruby 绑定应该安装而没有任何错误。
sudo apt-get install ruby-dev
和 sudo gem install mysql
。谢谢!
许多人发现this post很有帮助。
另外,我需要先输入:
yum install mysql-devel
接着:
gem install mysql
对于某些人,您可能需要输入:
gem install mysql -- --with-mysql-config=/usr/local/mysql/mysql_config
在 OSX Mountain Lion 上:如果您已安装 brew
,则安装 brew install mysql
并按照 instructions
在您的机器上使用 mysql 创建测试数据库。你不必一路走下去,我不需要这样做之后,我就可以捆绑安装和耙。
为了解决
Gem::Ext::BuildError: ERROR: Failed to build gem native extension error for mysql2, 我认为 libmysql-ruby 已被 ruby-mysql 更改
只需尝试以下命令,
sudo apt-get install ruby-mysql
& 然后
sudo apt-get install libmysqlclient-dev
我有类似的经历,所以这是我尝试过的事情
首先,我尝试通过在终端中运行以下命令来安装 mysql 所需的包
sudo apt-get install build-essential libmysqlclient-dev
其次,我尝试通过在终端中运行以下命令来更新系统上的 rubygems
sudo gem update --system
但我仍然遇到同样的问题。
这对我有用
经过大量研究后,我意识到我使用的是几乎过时的 mysql gem 版本。我只需要使用 mysql2 gem (mysql2 gem) 而不是 mysql gem,所以我通过在终端中运行以下命令来修复它
gem install mysql2
这对我来说很好。在运行最后一个命令之前,请确保您已经运行了第一个和第二个命令,以确保您的系统上一切正常。
就这样。
我希望这有帮助
gem install mysql2
谢谢
我也忘记了首先实际安装 MySQL。遵循本指南有很大帮助。
http://www.djangoapp.com/blog/2011/07/24/installation-of-mysql-server-on-mac-os-x-lion/
以及将这些行添加到我的 .profile 中:
export PATH="/usr/local/mysql/bin:$PATH"
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
你可以尝试重新安装最新版本的xcode/dev。雪豹工具 - 这应该可以解决您的错误
如果您是从源代码安装,这里有一个教程。如果它有帮助会很高兴http://raihan90.blogspot.com/2009/03/mysql-step-by-step-hacking-into-mysql.html
注意:你需要指定--key,而不是--with-mysql-config=/usr/local/mysql/bin/mysql_config
如果你使用 Percona Mysql 服务器
yum install Percona-Server-devel-55
$ 宝石安装 mysql
yum -y install gcc mysql-devel ruby-devel rubygems
gem install mysql2
您的 Ubuntu 操作系统需要为 mysql 客户端安装库 sudo apt-get install libmysqlclient-dev
之后只需安装 bundle
或 bundle install
不定期副业成功案例分享