Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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
MySQL和MySQL2 gem构建在主机上,但不';t通过Capistrano或SSH构建_Mysql_Ruby_Rubygems_Capistrano_Bundler - Fatal编程技术网

MySQL和MySQL2 gem构建在主机上,但不';t通过Capistrano或SSH构建

MySQL和MySQL2 gem构建在主机上,但不';t通过Capistrano或SSH构建,mysql,ruby,rubygems,capistrano,bundler,Mysql,Ruby,Rubygems,Capistrano,Bundler,我正试图通过Capistrano部署一个使用Bundler的Rails应用程序 运行cap-deploy:cold将提供以下功能: ** [out :: (my host)] Installing mysql2 (0.2.6) ** [out :: (my host)] with native extensions *** [err :: (my host)] /usr/lib64/ruby/site_ruby/1.8/rubygems/installer.rb:483:in `buil

我正试图通过Capistrano部署一个使用Bundler的Rails应用程序

运行
cap-deploy:cold
将提供以下功能:

** [out :: (my host)] Installing mysql2 (0.2.6)  
** [out :: (my host)] with native extensions  
*** [err :: (my host)] /usr/lib64/ruby/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)  
*** [err :: (my host)]  
*** [err :: (my host)] /usr/bin/ruby extconf.rb  
*** [err :: (my host)] checking for rb_thread_blocking_region()... no  
*** [err :: (my host)] checking for mysql_query() in -lmysqlclient... no  
*** [err :: (my host)] checking for main() in -lm... yes  
*** [err :: (my host)] checking for mysql_query() in -lmysqlclient... no  
*** [err :: (my host)] checking for main() in -lz... yes  
*** [err :: (my host)] checking for mysql_query() in -lmysqlclient... no  
*** [err :: (my host)] checking for main() in -lsocket... no  
*** [err :: (my host)] checking for mysql_query() in -lmysqlclient... no  
*** [err :: (my host)] checking for main() in -lnsl... yes  
*** [err :: (my host)] checking for mysql_query() in -lmysqlclient... no  
*** [err :: (my host)] checking for main() in -lmygcc... no  
*** [err :: (my host)] checking for mysql_query() in -lmysqlclient... no  
*** [err :: (my host)] *** extconf.rb failed ***  
*** [err :: (my host)] Could not create Makefile due to some reason, probably lack of  
*** [err :: (my host)] necessary libraries and/or headers.  Check the mkmf.log file for more  
*** [err :: (my host)] details.  You may need configuration options. 
只需安装mysql开发包或其他东西,对吗?不完全是因为gems(mysql和mysql2)都是在没有任何问题的Bundler机器上构建的,加上其他gems的安装没有任何问题


Capistrano所做的与此不同的是什么?

它可能没有以与直接登录相同的方式加载shell环境,因此无法找到mysqlclient库

通常,它希望能够找到mysql_config,它可以提供这些信息。如果您能够找到如何使用mysql config=/path/to/mysql\u config将
--传递到构建器中,我想这可能会有所帮助。我以前这样做过:
gem安装mysql2--with mysql config=/path/to/mysql\u config


我不知道如何让bundler做到这一点,但我希望这些信息能有所帮助

有可能它没有像直接登录一样加载shell环境,因此它找不到mysqlclient库

通常,它希望能够找到mysql_config,它可以提供这些信息。如果您能够找到如何使用mysql config=/path/to/mysql\u config
--传递到构建器中,我想这可能会有所帮助。我以前这样做过:
gem安装mysql2--with mysql config=/path/to/mysql\u config


我不知道如何让bundler做到这一点,但我希望这些信息能有所帮助

好的,我已经对此进行了更多的研究,并意识到试图通过SSH(
SSH)构建gemsuser@host“cd dir;bundle install--deployment--local--path gem_path”
)不起作用。确定,我对此进行了更多的研究,并意识到试图通过SSH(
SSH)构建gemsuser@host“cd dir;bundle install--deployment--local--path gem_path”
)不起作用。就是这样。结果表明,路径是不同的。我通过将此路径添加到我的config/deploy.rb:
set:default\u环境,{'path'=>“path\u to\u mysql\u bin\u目录:$path”}
就是这样。结果表明,路径是不同的。通过将此路径添加到我的config/deploy.rb:
set:default\u环境,{'path'=>“path\u to\u mysql\u bin\u目录:$path”}