Gitlab项目 - 无法运行" rails generate"

时间:2014-04-22 13:20:43

标签: ruby-on-rails ruby gem gitlab

简介:

  • 我在运行ubuntu 13.10的本地lxc容器上安装了gitlab - saucy。
  • 我已经在/usr/local/rvm
  • 中安装了RVM和多用户安装
  • 为了使用RVM运行gitlab,我已经为指定here

  • 的bundle命令创建了一个包装器
  • gitlab应用程序运行正常但我在运行rails generate函数时遇到问题

我遵循的步骤:

  • $ sudo su git - 以git用户身份登录
  • $ cd /home/git/gitlab
  • $ source /etc/profile/
  • $ rvm use gemset ruby-2.1.1@gitlab - 我创建的自定义gemset
  • $ gem list - 列出gitlab的Gemfile中出现的所有宝石,所以我知道我在正确的宝石集上
  • $ rails -v - > Rails 4.0.3
  • $ rails generate --help将输出

    /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `require': cannot load such file -- rb-inotify (LoadError)
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `each'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `block in require'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `each'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `require'
    from /usr/local/rvm/gems/ruby-2.1.1@global/gems/bundler-1.5.3/lib/bundler.rb:131:in `require'
    from /home/git/gitlab/config/application.rb:6:in `<top (required)>'
    from /home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/railties-4.0.3/lib/rails/commands.rb:43:in `require'
    from /home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/railties-4.0.3/lib/rails/commands.rb:43:in `<top (required)>'
    from bin/rails:8:in `require'
    from bin/rails:8:in `<main>'
    

我从这个输出中收集到的是,它在某种程度上试图使用ruby-2.1.1@global gemset。

如果我切换到该宝石集$ rvm use gemset ruby-2.1.1@global$ gem list将输出

*** LOCAL GEMS ***

bigdecimal (1.2.4)
bundler (1.5.3)
bundler-unload (1.0.2)
executable-hooks (1.3.1)
gem-wrappers (1.2.4)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.3)
rake (10.1.0)
rdoc (4.1.0)
rubygems-bundler (1.4.2)
rvm (1.11.3.9)
test-unit (2.1.1.0)

如果我运行bundle install或者包装软件包安装它会说明所有的gem都已安装。

我在这里缺少什么?

--------------------编辑------------------

找到了让它发挥作用的方法

我跟着trouble shooting guide尝试了 RAILS_ENV=production bundle exec rails generate --help并且有效

显然,如上一条评论所述hererb-inotify被标记为开发依赖关系&#34;因此迫使环境生产,它不会尝试使用它

2 个答案:

答案 0 :(得分:0)

要解决 'require': cannot load such file -- rb-inotify

您需要安装rb-inotify gem。使用以下命令安装它:

gem install rb-inotify

答案 1 :(得分:0)

将此行放在Gemfile

gem 'rb-inotify'

然后给bundle install 请在终端中提供gem list

如果它有解决这个问题的方法需要application.rb中的这个宝石,

require "rb-inotify"

这个问题会解决。