linux - 工头数据库导入失败

标签 linux puppet theforeman

我已经在 centos 6 上使用 yum repo 安装了 foreman

[root@server roor]# cat /etc/yum.repos.d/foreman.repo 
[foreman]
name=Foreman Repo
baseurl=http://yum.theforeman.org/releases/latest/el6/x86_64/
gpgcheck=0
enabled=1

并将database.yml配置为

production:
  adapter: mysql
  database: foreman
  username: foreman
  password: xxxxxx
  encoding: utf8

但是在构建表格时出现此错误,有什么想法吗?

[root@server foreman]# sudo RAILS_ENV=production rake db:migrate
(in /usr/share/foreman)
rake aborted!
no such file to load -- rails/all
/usr/share/foreman/Rakefile:1
(See full trace by running task with --trace)
[root@serverforeman]# 

更新: 修复使用

[root@server foreman]# cat /opt/rh/ruby193/enable 
export PATH=/opt/rh/ruby193/root/usr/bin:$PATH
export LD_LIBRARY_PATH=/opt/rh/ruby193/root/usr/lib64:$LD_LIBRARY_PATH
export MANPATH=/opt/rh/ruby193/root/usr/share/man:$MANPATH

但现在它卡在了......

[root@server foreman]# RAILS_ENV=production rake db:migrate --trace
rake aborted!
undefined method `active_record' for #<Rails::Application::Configuration:0x00000003ad8358>
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/railtie/configuration.rb:85:in `method_missing'
/usr/share/foreman/config/application.rb:57:in `<class:Application>'
/usr/share/foreman/config/application.rb:37:in `<module:Foreman>'
/usr/share/foreman/config/application.rb:36:in `<top (required)>'
/opt/rh/ruby193/root/usr/share/rubygems/rubygems/custom_require.rb:36:in `require'
/opt/rh/ruby193/root/usr/share/rubygems/rubygems/custom_require.rb:36:in `require'
/usr/share/foreman/Rakefile:1:in `<top (required)>'
/opt/rh/ruby193/root/usr/share/ruby/rake/rake_module.rb:25:in `load'
/opt/rh/ruby193/root/usr/share/ruby/rake/rake_module.rb:25:in `load_rakefile'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:501:in `raw_load_rakefile'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:82:in `block in load_rakefile'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:133:in `standard_exception_handling'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:81:in `load_rakefile'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:65:in `block in run'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:133:in `standard_exception_handling'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:63:in `run'
/opt/rh/ruby193/root/usr/bin/rake:32:in `<main>'

已修复:

目前,如果安装了多个版本的activerecord/mysql,foreman将会出现问题,应该使用foreman安装时提供的gems。

所以这些是删除不必要的 gem 的步骤

scl enable ruby193 'gem list'
scl enable ruby193 'gem uninstall -v 4.0.0 activerecord'
gem uninstall -v 2.9.1 mysql

最佳答案

目前,如果安装了多个版本的activerecord/mysql,foreman将会出现问题,应该使用foreman安装时提供的gems。

所以这些是删除不必要的 gem 的步骤

scl enable ruby193 'gem list'
scl enable ruby193 'gem uninstall -v 4.0.0 activerecord'
gem uninstall -v 2.9.1 mysql

关于linux - 工头数据库导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18846562/

相关文章:

linux - 不同顺序的多重排序

puppet - 我们可以检查以确保 puppet 配置仍在运行的锁定文件是什么

java - %JAVA_HOME% 在 Windows PATH 中如何工作?

ubuntu - 如何将两个虚拟机主机添加到工头 puppet 大师

c++ - 是否有可能在 Linux 上从 C/C++ 代码中丢弃基于(一组动态变化的)IP 地址的传入数据包?

c++ - opengl 游戏开发中的 Mono c# vs c++?

java - 为什么net.exe start <servicename>服务启动时报错?

ubuntu - Foreman 1.7 在 Ubuntu 14.04 上安装错误

linux - 优化 Bash 脚本,移除 subshel​​l