【问题标题】:ruby on rails tutorial - gemfile errorruby on rails 教程 - gemfile 错误
【发布时间】:2014-09-06 16:08:21
【问题描述】:

我刚刚开始学习 Michael Hartl 的“Ruby on Rails 教程”。我创建了一个新项目。我的 Gemfile 从下面给出:

#ruby-gemset=railstutorial_rails_4_0

宝石文件:

gem 'rails', '4.0.8'

group :development do
  gem 'sqlite3', '1.3.8'
end

gem 'sass-rails', '4.0.3'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

之后我尝试在终端中执行 $ bundle install --without production 然后我得到以下错误

    nikhil@ubuntu:~/rails_projects/demo_app$ bundle install --without production
/home/nikhil/rails_projects/demo_app/Gemfile:29:in `evaluate': compile error (SyntaxError)
/home/nikhil/rails_projects/demo_app/Gemfile:23: syntax error, unexpected ':', expecting kEND
  gem 'sdoc', '0.3.20', require: false
                                ^
    from /usr/lib/ruby/vendor_ruby/bundler/definition.rb:17:in `build'
    from /usr/lib/ruby/vendor_ruby/bundler.rb:136:in `definition'
    from /usr/lib/ruby/vendor_ruby/bundler/cli.rb:222:in `install'
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/task.rb:22:in `send'
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/task.rb:22:in `run'
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor.rb:246:in `dispatch'
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/base.rb:389:in `start'
    from /usr/bin/bundle:13

我是刚想学习 RoR 的新手,请帮我解决这个错误 谢谢

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

查看 cmets,问题几乎肯定是由 Gemfile 中的以下行引起的:

#Gemfile
group :doc do
  gem 'sdoc', '0.3.20', require: false
end

根据其他问题的答案,您很可能能够使用以下语法解决问题:

#Gemfile
group :doc do
  gem 'sdoc', '0.3.20', :require => false
end

捆绑器

感谢 cmets 中的@mandeep,您还想看看更新您的bundler 版本

为此,您只需将cd 放入 Rails 应用程序的工作目录,然后运行:

gem update bundler

这将在您的应用程序中安装最新版本的 bundler gem,这也应该有助于解决您看到的错误

【讨论】:

  • Rails 版本是 '4.0.8' 所以我不认为它会是 ruby​​
  • 是的,但奇怪的是,在更多情况下,它通过更新捆绑器解决了
  • 那你为什么不写一个答案呢?这家伙显然是新人,所以他需要尽可能多的想法和尝试。如果我的回答不正确,留给你写一个更贴切的空间!
  • 我并不是说它不正确或任何东西。只是说你也应该添加它的另一部分:)
  • 大声笑好吧,我会添加另一部分 - 但您可能想添加一个答案,因为我只是从您提供的资源中获取了想法。底线是,如果这个人是新来的,他需要尽可能多的参考点;因此为什么我建议你也写一个答案
猜你喜欢
  • 2012-03-28
  • 1970-01-01
  • 2013-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 2017-08-16
  • 1970-01-01
相关资源
最近更新 更多