MySQL和MySQL2 gem构建在主机上,但不';t通过Capistrano或SSH构建
我正试图通过Capistrano部署一个使用Bundler的Rails应用程序 运行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
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”}