簡體   English   中英

Rails錯誤-沒有要加載的此類文件-MySQL

[英]Rails Error - No Such File to Load — mysql

我一直在為Mac上的Rails安裝而斗爭。 我收到的錯誤(在我的開發日志中)說:

Status: 500 Internal Server Error no such file to load -- mysql

這是一些信息:

  • 我可以成功耙db:migrate我的應用程序。
  • 我已經安裝了MySQL gem,它顯示在gem列表中:mysql(2.8.1)。
  • 我已經安裝了乘客。
  • 該錯誤來自可在我們的生產服務器上運行的現有Rails應用。
  • 創建一個新的Rails應用程序,一個新的MySQL數據庫(使用mysqladmin -uroot create sampledb )可以正常工作。

我已經在Google上進行了搜索,但找不到與此錯誤相關的任何內容。 在安裝MySQL gem時,有一些與結果相關的解決方案與路徑相關的信息。 例如,

sudo env ARCHFLAGS="-arch i386" gem install mysql -- \
  --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
  --with-mysql-include=/usr/local/mysql/include

其他人是否遇到過此問題或建議解決方案?

感謝您的答復-好消息是,問題已解決。

壞消息-我不完全確定是什么原因解決了。 我可以告訴你:這與mysql gem install和所有指向lib,include和config的標志有關。 對於Mac OS X Leopard,該命令可能有十幾種不同版本。

奇怪的是,ruby似乎在某種程度上已連接到mysql(例如,它具有耙入db的能力),但在實際加載頁面時卻損壞了。

最終可以工作的gem install字符串是這樣的:

sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

我希望對此做些什么以及為什么做些澄清。 這對我有用,但不包含指向應用程序目錄,lib目錄或包含目錄的指針。

  1. 您是否安裝了多個紅寶石? 嘗試調用此命令以找出: whereis ruby
  2. 您的乘客使用哪種紅寶石版本? 您可以從apache或nginx配置中進行檢查
  3. 紅寶石版本的乘客使用的命令行與您在命令行中使用的紅寶石版本相同嗎?
  4. 在該ruby版本上安裝了mysql gem嗎?

仔細檢查mysql bin路徑是否在$ PATH系統環境變量中。 如果執行

*echo $PATH* 

必須顯示類似

*/usr/local/mysql/bin*

您也可以輸入

mysql ,然后按兩次tab鍵。 如果這不能顯示mysql命令列表(如mysqladmin等),則說明mysql bin路徑設置不正確。 您可以通過將正確的目錄添加到bash配置文件中來進行設置。

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile

請預先驗證是否

*/usr/local/mysql/bin* 

實際上包含Mac上的mysql命令。 重要:關閉並重新打開終端窗口以使更改生效。

暫無
暫無

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

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