Page 111 of 173

Rails 3.0.7, Ruby 1.9.2 + Couldn’t parse YAML at line 41 column 14 (Psych::SyntaxError)

Po reinstalacji systemu, instalacji RVMa oraz gemsetów, natknąłem się na taki oto błąd (niezależnie czy odpalałem testy, rake'a czy też serwer):

Couldn't parse YAML at line 41 column 14 (Psych::SyntaxError)

Nie zamieszczam stacktrace'a, ponieważ i tak nic nie wnosił (nie podawał pliku yaml w którym występował błąd). Na szczęście diagnoza problemu okazała się całkiem prosta. Winny okazał się taki oto fragment yamla:

order: [:year, :month, :day]

Okazuje się, że w nowszych wersjach psych, taki sposób osadzania symboli nie przechodzi i należy rozbić to na oddzielne wiersze:

order:
  :year
  :month
  :day

Poprawki takie należy wprowadzić we wszystkich miejscach gdzie umieszczaliśmy symbole w sposób "tablicowy". W moim przypadku, na szczęście były to tylko dwa pliki.

RVM i no such file to load — openssl | no such file to load — readline

Instalując poprzez RVMa kolejne wersje Rubiego, natknąć możemy się na taki oto komunikat:

no such file to load -- openssl

Informacja ta wyskakuje kiedy skompilowaliśmy naszego Rubiego bez OpenSSLa. Aby temu zaradzić wystarczy:

cd ~/.rvm/src/ruby-1.9.2-p0/ext/openssl
ruby extconf.rb
make
make install

Podobna procedura tyczy się także w wypadku takiego komunikatu:

no such file to load -- readline

Jedyna różnica jest taka, że musimy zainstalować wcześniej dwa pakiety:

    sudo apt-get install libncurses5-dev libreadline5-dev
    cd ~/.rvm/src/ruby-1.9.2-p0/ext/readline
    ruby extconf.rb
    make
    make install

UPDATE

Hipertracker podał prostsze rozwiązanie:

rvm package install readline
rvm package install openssl
rvm remove 1.9.2
rvm install 1.9.2 –with-readline-dir=$rvm_path/usr –with-openssl-dir=$HOME/.rvm/usr

Aczkolwiek i tak wolę mój sposób - trwa krócej ;)

Copyright © 2025 Closer to Code

Theme by Anders NorenUp ↑