在共享主机上安装RedMine时出错

时间:2012-02-29 06:50:26

标签: ruby hosting shared redmine

今天我尝试按照本指南在我的共享主机上安装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文件夹中。

这使得命令不会没有错误地执行。

例如,对于此步骤:

  1. 登录SSH,从Ruby Apps路径运行“rake gems:install”
  2. 我收到此错误...

    [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安装中执行它们,但是我得到了所有这些错误......我做错了什么?

1 个答案:

答案 0 :(得分:1)

首先,检查您的红宝石版本($ ruby -v)是否与Redmine完全兼容。您可以检查兼容性RedmineInstall - 这不会解决您当前的问题,但可能有助于进一步避免其他问题。

根据gem安装问题,你应该安装mysql头文件,gem工具写道找不到mysql.h。如果您有权在服务器上安装软件,则可以执行此操作。如果是,请使用您的包管理器(yumapt-getpacman - 取决于您的操作系统),只需安装mysql开发包(可能命名为libmysqlmysql-devel,谷歌为你的操作系统)。如果您没有安装软件的权限,请编写查询以支持要求安装mysql开发库。

要解决rake问题,请尝试使用bundler gem。您可以在那里找到有关它的更多信息:http://gembundler.com/。将所有需要的记录添加到Gemfile后,你可能想要包含rake,mysql和其他一些宝石,运行bundle install。完成所有操作后,您可以安全地运行bundle exec rake以完全执行来自bundler的gem。

如果您有任何问题,请与我们联系。