Ruby-on-rails (<unknown>): 扫描第 3 行第 1 列的简单键时找不到预期的 ':' (Psych::SyntaxError)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32441291/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-02 19:04:02  来源:igfitidea点击:

(<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1 (Psych::SyntaxError)

ruby-on-railsrubygit

提问by Jordan Deutsch

I am trying to run a bundle install on a rails project pulled from git. When I run the bundle install I get the following error:

我正在尝试在从 git 中提取的 rails 项目上运行捆绑安装。当我运行 bundle install 时,出现以下错误:

    /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/psych.rb:370:in     `parse': (<unknown>): could not find expected ':' while scanning a simple key at     line 3 column 1 (Psych::SyntaxError)
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/psych.rb:370:in `parse_stream'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/psych.rb:318:in `parse'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/psych.rb:245:in `load'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/config_file.rb:333:in `load_file'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/config_file.rb:198:in `initialize'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/gem_runner.rb:74:in `new'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/gem_runner.rb:74:in `do_configuration'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/gem_runner.rb:39:in `run'
    from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.1/bin/gem:21:in `<main>'

This is my Gemfile:

这是我的 Gemfile:

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.3'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'

#for Authentification
gem 'devise'

#for image management
gem 'paperclip', :git => 'git://github.com/thoughtbot/paperclip.git'
gem 'aws-sdk-v1'
gem 'aws-s3'

group :development do
    gem 'better_errors'
end

group :development, :test do
    gem 'dotenv-rails'
end
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more:     https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger     console
  gem 'byebug'

  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'

  # Spring speeds up development by keeping your application running in the      background. Read more: https://github.com/rails/spring
  gem 'spring'
end

After some digging I thought it might be an issue with rvm as I tried pulling an old project off git and was still unable to run the bundle install. I also tried copying a project locally and running the install and starting a new project all without success.

经过一番挖掘,我认为这可能是 rvm 的问题,因为我尝试从 git 中拉出一个旧项目,但仍然无法运行捆绑安装。我还尝试在本地复制一个项目并运行安装并启动一个新项目,但都没有成功。

After reinstalling rvm I ran rvm use ruby --install --defaultand got the following error (similar to above)

重新安装 rvm 后,我运行rvm use ruby --install --default并收到以下错误(类似于上面)

/Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/psych.rb:370:in `parse': (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1 (Psych::SyntaxError)
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/psych.rb:370:in `parse_stream'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/psych.rb:318:in `parse'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/psych.rb:245:in `load'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/config_file.rb:333:in `load_file'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/config_file.rb:198:in `initialize'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `new'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `do_configuration'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/gem_runner.rb:39:in `run'
from /Users/jordandeutsch/.rvm/rubies/ruby-2.2.3/bin/gem:25:in `<main>'

Essentially I cannot begin a new rails project on the computer. Any insight would be appreciated.

基本上我无法在计算机上开始一个新的 Rails 项目。任何见解将不胜感激。

回答by ellen

This error usually comes out if you have syntax errors in the .yml files. Have a look if you can find any mistake in there.

如果 .yml 文件中有语法错误,通常会出现此错误。看看你是否能发现任何错误。

You can also try and remove the .gemrc file from the home directory. It could be that the error is in there.

您也可以尝试从主目录中删除 .gemrc 文件。可能是错误在那里。

回答by alex_milhouse

I had this issue recently had this issue. My issue:

我有这个问题最近有这个问题。我的问题:

.application.yml

.application.yml

default: &default
 FOO_KEY: 'XXXXX'

development:
  <<: *default

test:
  <<: *default

Worked fine.

工作得很好。

default: &default
  FOO_KEY:?'asdf'
  BAR_KEY:?'XXXXXXXXXXX'
  FOO_BAR: 'XXXXXXXXXXXX'

development:
  <<: *default

test:
  <<: *default

Did not work. What I tried:

不工作。我试过的:

  • Rewrite application.yml
  • Remove GEMFILE.lock and reinstall all gems
  • change the values and names of keys
  • check all configs for typos
  • 重写 application.yml
  • 删除 GEMFILE.lock 并重新安装所有 gems
  • 更改键的值和名称
  • 检查所有配置是否有错别字

None of these helped fix the issue. So as any good engineer I burned it to the ground. I cloned my project into a new directory and rewrote the application.yml and that worked. Both repos are on the same branch and on the same changeset.

这些都没有帮助解决问题。所以作为任何优秀的工程师,我把它烧毁了。我将我的项目克隆到一个新目录中并重写了 application.yml 并且工作正常。两个存储库都在同一个分支和同一个变更集上。

回答by Abhishek

In case you still are looking for answers (after patching up your database.yml several times), try to check other ymlfiles that are loaded upon initialization of the application, like secrets.yml, sidekiq.yml, webpacker.ymlor so.

如果您仍在寻找答案(在多次修补 database.yml 之后),请尝试检查yml在应用程序初始化时加载的其他文件,例如secrets.ymlsidekiq.yml、 等webpacker.yml

In my case, it was throwing error like:

就我而言,它抛出了如下错误:

/home/abhishek/.rvm/gems/ruby-2.3.7/gems/railties-4.2.10/lib/rails/application/configuration.rb:115:in `rescue in database_configuration': YAML syntax error occurred while parsing /home/abhishek/Workspace/clearfunds/clearfunds-web/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): could not find expected ':' while scanning a simple key at line 19 column 7 (RuntimeError)

But database.ymlwas intact. The problem was in secrets.yml. Had used tabindentation in a couple of places.

但是database.yml完好无损。问题出在secrets.yml. tab在几个地方使用了缩进。

回答by Maggie Rose

For others who get this error, I got this error and it turned out there was non visible unicode characters that were creating conflicts. I found a website that shows where these characters are: https://www.soscisurvey.de/tools/view-chars.php

对于其他收到此错误的人,我收到了此错误,结果发现是不可见的 unicode 字符造成了冲突。我找到了一个显示这些字符在哪里的网站:https: //www.soscisurvey.de/tools/view-chars.php