Ruby 第1行出现Gemfile语法错误:语法错误,意外的tIDENTIFIER,应为输入结束

Ruby 第1行出现Gemfile语法错误:语法错误,意外的tIDENTIFIER,应为输入结束,ruby,syntax-error,gemfile,Ruby,Syntax Error,Gemfile,这是我的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 :dev

这是我的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行”。我也检查了一下空白,但没有运气。有什么想法吗?

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

/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有一个插件可以做到这一点:

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

  • \r表示“回车”。它代表Mac OS使用的字符 标记行的结尾
  • 因为角色本身不是 可见,“\r”通常被理解为代表车厢 返回字符
  • Unix/Linux使用“换行”字符作为 同样的目的
  • Windows使用以下组合“回车” 通过“换行”字符来表示行尾

阅读此问题的答案以获得更全面的解释:

gem文件的扩展名是什么?对不起,我是新手。我使用OSX,所以我保存为文本编辑?这不是扩展问题。OSX使用不同的字符表示行的结尾。现代编辑器通常有一个菜单设置,允许您更改行尾的字符。如果你告诉我们你使用的是什么编辑器,我们可以提供具体的帮助。我在ROR方面没有进步,也不理解将文件转换到OSX如何解决这个/r空间错误?有人知道吗?如果是的话,你能详细解释一下吗?我在这方面很新,谢谢