微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails-3 – Guard给予“未初始化的常量Listen :: Turnstile(NameError)”错误

我在尝试运行命令时遇到此错误
guard

这个应用程序我在试图安装后卫之前已经开发了一段时间……

我按照Ryan Bates关于后卫的教程的指示:

http://railscasts.com/episodes/264-guard

这是我的Gem文件.

source 'https://rubygems.org'

gem 'rails','3.2.14'
gem 'rake'
gem 'MysqL2'
gem 'bcrypt-ruby'
gem 'devise'
gem 'rails_admin'
gem 'jbuilder'
gem 'gon'
gem 'dynamic_form'
gem 'therubyracer',:require => 'v8'
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'rails3-jquery-autocomplete'
gem 'roo'

group :assets do
  gem 'sass-rails','~> 3.2.4'
  gem 'coffee-script','~> 2.2.0'
  gem 'uglifier','~> 1.2.3'
end

group :development,:test do
  gem 'capistrano'
  gem 'bullet'
  gem 'rvm-capistrano'
  gem 'better_errors'
  gem 'rspec-rails','2.10.0'
  gem 'awesome_print'
  gem 'wirble'
  gem 'thin'
  gem 'guard-rspec'
  gem 'rb-fsevent',:require => false if RUBY_PLATFORM =~ /darwin/i  
end

group :test do
  gem 'capybara','1.1.2'
  gem 'faker'
  gem 'factory_girl_rails'
  gem 'spork','~> 1.0rc'
end

这是完整的错误

app3 git:(write-tests) ✗ guard
    /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/guard-1.4.0/lib/guard.rb:47:in `setup': uninitialized constant Listen::Turnstile (NameError)
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/guard-1.4.0/lib/guard.rb:155:in `start'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/guard-1.4.0/lib/guard/cli.rb:104:in `start'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/gems/guard-1.4.0/bin/guard:6:in `<top (required)>'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/bin/guard:23:in `load'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/bin/guard:23:in `<main>'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/bin/ruby_noexec_wrapper:14:in `eval'
        from /Users/Nick/.rvm/gems/ruby-1.9.3-p448/bin/ruby_noexec_wrapper:14:in `<main>'

解决方法

我的rails 3.2.13应用程序遇到了类似的问题.

令人困惑的部分是我的Gemfile中没有gem’guard’,但是gem显然是以下的依赖:

gem 'guard-rspec'
gem 'guard-livereload'
gem 'guard-cucumber'

一切都工作,直到最近的捆绑更新,带来了一个更新版本的监听,一个守卫的依赖,而后卫本身被阻止(不知道为什么).所以你看到的错误就是试图调用一个不再存在于listen中的类.

通过向Gemfile明确添加当前版本的guard来解决该问题:

gem 'guard','>=2.1.0'

当然还有重新捆绑.

原文地址:https://www.jb51.cc/ruby/271383.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐