簡體   English   中英

MySQL 安裝:錯誤:無法構建 gem 原生擴展

[英]MySQL Install: ERROR: Failed to build gem native extension

由於某些安裝出錯,我正在嘗試將 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 找不到 Z58E53D1324EEF9AADFZ 的 Z58E53D1324EEF6265FEDDB97B0 的 header 文件/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 找不到 Z58E53D1324EEF9AADFZ 的 Z58E53D1324EEF6265FEDDB97B0 的 header 文件/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 沒有任何運氣。

有什么想法我可能會出錯嗎?

編輯:我從我的雪豹 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出於某種原因,可能缺乏必要性 ry 庫和/或頭文件。 檢查 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 運行。 現在我完全不知道該怎么做!

編輯編輯

我剛剛使用本指南http://hivelogic.com/articles/installing-mysql-on-mac-os-x 完全重新安裝了 MySQL

不幸的是,這也不起作用,我仍然收到相同的錯誤。 我什至不能在命令行中執行 mysql -uroot ,我收到以下錯誤:

ERROR 2002 (HY000): 無法通過套接字'/tmp/mysql.sock' (2) 連接到本地 MySQL 服務器

所以我想我已經嘗試了一切。

**解決了*

抱歉,這不起作用的原因是因為 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

它將安裝沒有任何錯誤。

在OSX上安裝mysql gem

在終端中..首先執行'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

首先,您需要區分MySQL作為服務器,MySQL作為客戶端和Ruby綁定到MySQL。

我不熟悉Mac,但對於* nix OS,您需要通過軟件包管理器安裝MySQL。 要安裝Ruby綁定

gem install mysql

你需要ruby的開發頭文件(在Ubuntu中它是包ruby-dev)和MySQL-Client的開發頭文件(目前在Ubuntu中是libmysqlclient16-dev )。 我不知道它們在Mac上是否有不同的名稱,但是在安裝完這些內容之后,Ruby綁定應該安裝沒有任何錯誤。

很多人認為這篇文章很有幫助。

另外,我需要先做這個:

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並按照你的機器上用mysql創建測試數據庫的instructions進行instructions 你不必一直走,我不需要在我做了之后我能夠捆綁安裝和耙。

為了解決

Gem :: Ext :: BuildError:錯誤:無法為mysql2構建gem原生擴展錯誤,

我認為libmysql-rubyruby-mysql改了

只需嘗試以下命令,

sudo apt-get install ruby-mysql

& 然后

sudo apt-get install libmysqlclient-dev

我也忘記了首先安裝 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

我有類似的經歷,所以這里是我嘗試過的東西

首先,我嘗試通過在終端中運行以下命令來安裝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

這對我來說很好。 在運行最后一個命令之前,請確保已運行第一個和第二個命令以確保系統上的一切正常。

就這樣。

我希望這有幫助

如果你使用Percona Mysql服務器

$ yum安裝Percona-Server-devel-55

$ gem install mysql

您可以嘗試重新安裝最新版本的xcode / dev。 雪豹工具 - 這應該可以解決你的錯誤

如果你從源碼安裝這里是一個教程。如果它有幫助,請高興http://raihan90.blogspot.com/2009/03/mysql-step-by-step-hacking-into-mysql.html

注意:你需要指定 - 鍵,而不是--with-mysql-config = / usr / local / mysql / bin / mysql_config

yum -y install gcc mysql-devel ruby-devel rubygems
gem install mysql2

您的Ubuntu OS需要為mysql客戶端sudo apt-get install libmysqlclient-dev安裝庫

之后,只需安裝bundlebundle install

雖然這些答案為我指明了正確的方向,但在 Alpine linux 上,我需要的 package 是mariadb-dev ,例如。 gem install mysql命令之前運行apk add mariadb-dev

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM