Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@io_fleming

rake db:createでDB作成しようとしたらできない

More than 1 year has passed since last update.

環境

Ruby : ruby-1.9.3-p551
Rails : 3.2.6
DB : MySQL
OS : macOS High Sierra バージョン 10.13.1

起こったエラー

ターミナルで$ rake db:createしたら

rake aborted!
NameError: uninitialized constant Psych::ENGINE
/Users/hoge/projects/config/boot.rb:10:in `<top (required)>'
/Users/hoge/projects/config/application.rb:1:in `require'
/Users/hoge/projects/config/application.rb:1:in `<top (required)>'
/Users/hoge/projects/Rakefile:4:in `require'
/Users/hoge/projects/Rakefile:4:in `<top (required)>'
/Users/hoge/.rvm/gems/ruby-2.2.2/gems/rake-12.2.1/exe/rake:27:in `<top (required)>'
/Users/hoge/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
/Users/hoge/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)

という結果が出力されました。

試したこと

・gem update —system
  →すでに最新なので変わらず。

解決策

・rubyのバージョンが2.x以上だとboot.rbに記述されているYAML::ENGINE.yamler= ‘syck'が使えないのでrubyのバージョンを下げる or もしくはこの1行をコメントアウトする。
・rubyのバージョンを1.9.3p551に変更
・rake db:create実行するとbundle installしろと言われる。
・bundle installする
・nokogiriで引っかかる

nokogiri-1.8.1 requires ruby version >= 2.1.0, which is incompatible with the current
version, ruby 1.9.3p551

・nokogiriのバージョン指定gem 'nokogiri', "~> 1.6.6.4”すると

You have requested:
  nokogiri ~> 1.6.6.4

The bundle currently has nokogiri locked at 1.8.1.
Try running `bundle update nokogiri`

If you are updating multiple gems in your Gemfile at once,
try passing them all to `bundle update`

と出る。
・Gemfile.lock削除してbundle installすること1時間
・なんか表示されたけど無事に作成できた。

参考サイト

uninitialized constant Psych::Syck (NameError)Ask Question

終わりに

これは完全に個人的なエラー解決のメモです。そのため、解決方法としては適切でなかったり、間違ったgemの使い方などをしているかもしれません。
今回のエラーで色々検索してもなかなか解決に至らなかったので自分のために投稿しました。

もし、より良い解決方法などがあればコメントなどでフィードバックをしていただけると幸いです。(エラーを起こした際の情報が少なすぎますが...)

job-error_2

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
io_fleming
インプットしたものをゆるゆるアウトプットしていこうと思います。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?