今天我尝试按照本指南在我的共享主机上安装Redmine:
http://unixserveradmin.com/archives/691
但我无法安装mysql gem。
[trebolbi@air6 ~]$ gem install mysql -with-mysql-config=/user/bin/mysql_config
Fetching: mysql-2.8.1.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
checking for mysql_ssl_set()... no
checking for rb_str_set_len()... no
checking for rb_thread_start_timer()... no
checking for mysql.h... no
checking for mysql/mysql.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--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=/usr/bin/ruby
--with-mysql-config
--without-mysql-config
Gem files will remain installed in /home/trebolbi/th-mysql-config=/user/bin/mysql_config/gems/mysql-2.8.1 for inspection.
Results logged to /home/trebolbi/th-mysql-config=/user/bin/mysql_config/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
问题更严重,因为我的服务器上有2个安装,一个安装在我的本地主文件夹中,另一个安装在服务器的bin文件夹中。
这使得命令不会没有错误地执行。
例如,对于此步骤:
我收到此错误...
[trebolbi@air6 RedMine]$ rake gems:install
/usr/bin/rake:16:in `load': no such file to load -- rake (LoadError)
from /usr/bin/rake:16
如果我尝试使用本地安装执行命令:
[trebolbi@air6 RedMine]$ ./../../ruby/gems/bin/rake gems:install
我收到很多错误,所有错误都与“/ usr / libindex #ruby / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /符号。来自/usr/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91”。 ...正如你所看到的,它在服务器bin directoy(/ usr / local / bin)中寻找宝石,而不是在本地用户安装ruby(/home/user/ruby/gems/bin).// p>
我只需执行此命令即可完成安装......
gem install mysql
cd /home/trebolbi/rails_apps/RedMine
rake gems:install
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
我想从我的帐户和我当地的ruby安装中执行它们,但是我得到了所有这些错误......我做错了什么?
答案 0 :(得分:1)
首先,检查您的红宝石版本($ ruby -v
)是否与Redmine完全兼容。您可以检查兼容性RedmineInstall - 这不会解决您当前的问题,但可能有助于进一步避免其他问题。
根据gem安装问题,你应该安装mysql头文件,gem工具写道找不到mysql.h。如果您有权在服务器上安装软件,则可以执行此操作。如果是,请使用您的包管理器(yum
,apt-get
,pacman
- 取决于您的操作系统),只需安装mysql开发包(可能命名为libmysql
或mysql-devel
,谷歌为你的操作系统)。如果您没有安装软件的权限,请编写查询以支持要求安装mysql开发库。
要解决rake问题,请尝试使用bundler gem。您可以在那里找到有关它的更多信息:http://gembundler.com/。将所有需要的记录添加到Gemfile后,你可能想要包含rake,mysql和其他一些宝石,运行bundle install
。完成所有操作后,您可以安全地运行bundle exec rake
以完全执行来自bundler的gem。
如果您有任何问题,请与我们联系。