【问题标题】:Gemfile syntax error on line 1: syntax error, unexpected tIDENTIFIER, expecting end-of-input第 1 行的 Gemfile 语法错误:语法错误,意外 tIDENTIFIER,期望输入结束
【发布时间】:2014-07-31 06:40:17
【问题描述】:

这是我的 gem 文件:

source 'https://rubygems.org'

gem 'rails', '3.2.14'
#gem 'jquery-rails', '2.0.2'
#gem 'bootstrap-sass', '2.1'
#gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'

group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
  gem 'guard-rspec', '1.2.1'
  # gem 'guard-spork', '1.2.0'
  # gem 'childprocess', '0.3.6'
  # gem 'spork', '0.9.2' 
end

group :assets do
  gem 'saas-rails', '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

group :test do
  gem 'capybara', '1.1.2'
  gem 'factory_girl_rails', '4.1.0'
 # gem 'cucumber-rails', '1.2.1', :require => false
 # gem 'database_cleaner', '0.7.0'
  # gem 'launchy', '2.1.0'
  # gem 'rb-fsevent', '0.9.1', :require => false
  # gem 'growl', '1.0.3'
end

group :production do
   gem 'pg', '0.12.2'
end

我不断收到此错误

Nicole-DO-NOT-USE:sample_app nicole$ bundle --without production
/Users/nicole/rails_projects/sample_app/Gemfile:1: warning: encountered \r in middle of line, treated as a mere space
Gemfile syntax error on line 1: syntax error, unexpected tIDENTIFIER, expecting end-of-input
#gem 'jque...'3.2.14'ems.org'
...                               ^

当我注释掉或删除语法问题所在的行时,仍然会出现相同的错误,就好像它是“jquery 行”一样。我也检查了空格,但没有运气。有什么想法吗?

【问题讨论】:

    标签: ruby syntax-error gemfile


    【解决方案1】:

    输出中的这一行是为了警告您文件中有一个杂散的回车:

    /Users/nicole/rails_projects/sample_app/Gemfile:1: warning: encountered \r in middle of line, treated as a mere space
    

    例如,来自不同操作系统的文件可能会发生这种情况(OS X 使用 CR,Windows 使用 CR LF,Unix/Linux 使用 LF(换行)来指示行尾。)您应该尝试将文件转换为您的操作系统系统的格式。

    例如,Sublime Text 有一个插件可以做到这一点:https://github.com/SublimeText/LineEndings

    编辑:关于行尾的更多信息:

    • \r 表示“回车”。它代表 Mac OS 使用的字符 标记行尾。
    • 由于角色本身不是 可见,“\r”一般理解为代表马车 返回字符。
    • Unix/Linux 使用“换行”字符 相同的目的
    • Windows 使用后面的“回车”组合 通过“换行”字符来表示行尾。

    阅读此问题的答案以获得更全面的解释:Difference between CR LF, LF and CR line break types?

    【讨论】:

    • gem 文件的扩展名是什么?对不起,我是新手。我使用 OSX,所以我保存为文本编辑?
    • 不是扩展问题。 OSX 使用不同的字符来表示行尾。现代编辑器通常有一个菜单设置,可让您更改行尾的字符。如果您告诉我们您使用的是什么编辑器,我们可以提供具体的帮助。
    • 我正在使用 Sublime 文本
    • 我真的不明白如何安装插件。我在 ROR 方面不先进,也不了解将文件转换为 OSX
    • 如何解决这个 /r 纯空格错误?有人知道吗?如果是这样,你能详细解释一下我很新吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多