Един мой приятел получи същия проблем при използване на Ruby 2.0 на Windows 7 с Postgres. Това се случва не само когато се опитвате да унищожите контролер, но и за всяко действие на базата данни (включително rake db:create). Проблемът е, че файлът pg_ext.so не е включен за ruby 2.0. Включено е за 1.9, но простото копиране на това в 2.0 не изглежда работа. Въпреки това намерих друг метод за получаване на правилния pg_ext.so. Не знам точно защо това работи, но работи за него. Ето какво трябва да направите:
- Отидете до папката, където трябва да се намира 2.0/pg_ext.so (файлът, който не може да бъде намерен). Във вашия случай C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1-x86-mingw32/lib/.
- Създайте тук папка с име „2.0“ (без кавичките).
- В тази папка ще ви трябва правилният файл pg_ext.so. Можете да го получите по следния начин:
- Ръчно инсталирайте pg gem ("gem install pg" в конзолата). Това инсталира не x86-mingw32 версията на gem. Това не решава проблема, но създава правилния pg_ext.so. Мисля, че това е така, защото компилира pg gem за вашата система, така че за ruby 2.0. След това можете да използвате този файл pg_ext.so с версията pg x86-mingw32. Ще ви трябва DevKit, за да компилирате и инсталирате pg (http://rubyinstaller.org/add- ons/devkit/ ).
- Отидете до местоположението на pg_ext.so в папката pg-0.14.1 gem. Във вашия случай това ще бъде C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1/lib.
- Копирайте файла pg_ext.so от тази папка в новата папка pg-0.14.1-x86-mingw32/lib/2.0/ в стъпка 2.
- Сега опитайте отново вашите команди и проверете дали всичко работи. Ако не стане, изтрийте вашия Gemfile.lock и стартирайте отново пакетната инсталация.
- Същият проблем с този скъпоценен камък може да възникне и с други скъпоценни камъни mingw32. Например, имах същия проблем с bcrypt-rails gem. Следвайки същите стъпки, както е описано по-горе, проблемът беше решен. Вече успешно изпълнявам Ruby 2.0 на Windows 7.
Пс. Ако имате някакви други проблеми при стартирането на pg gem на Windows 7 64 бита, тогава опитайте да инсталирате 32 битовата x86 версия на Ruby (RubyInstaller) и postgresql. Освен това се уверете, че сте включили папките Ruby във вашия път (това е опция, докато инсталирате ruby 2.0 с помощта на RubyInstaller), както и папките Postgresql lib и bin.
Успех!