繁体   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