/ / Rails 3.2.1 - Nie można znaleźć rake-0.9.2.2 w żadnym ze źródeł - Locaweb - ruby ​​na szynach, ruby ​​na szynach-3

Rails 3.2.1 - Nie można znaleźć rake-0.9.2.2 w żadnym ze źródeł - Locaweb - ruby-on-rails, ruby-rails-3

Jestem nowy w Railsach i mam problemy. O systemie: Rails-3.2.1 Ruby-1.8.7 RedHat

Wszystko działa dobrze w systemie lokalnym. Problem występuje na hoście internetowym. Próbuję skonfigurować system, ale podane informacje nie są wystarczająco dobre. Używam mysql (klejnot mysql2), a database.yml jest poprawnie skonfigurowany (tak myślę).

database.yml

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MYSQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem "mysql2"
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: rffaguiar
pool: 5
username: rffaguiar
password: ******
host: mysql01.rffaguiar.com.br

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: rffaguiar
pool: 5
username: rffaguiar
password: ******
host: mysql01.rffaguiar.com.br

production:
adapter: mysql2
encoding: utf8
reconnect: false
database: rffaguiar
pool: 5
username: rffaguiar
password: ******
host: mysql01.rffaguiar.com.br

polecenie pakietu

/home/storage/3/d2/f5/rffaguiar/rails_apps/teste_pos$ bundle
Using rake (0.9.2.2)
Using i18n (0.6.0)
Using multi_json (1.0.4)
Using activesupport (3.2.1)
Using builder (3.0.0)
Using activemodel (3.2.1)
Using erubis (2.7.0)
Using journey (1.0.1)
Using rack (1.4.1)
Using rack-cache (1.1)
Using rack-test (0.6.1)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.1.2)
Using actionpack (3.2.1)
Using mime-types (1.17.2)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.4.1)
Using actionmailer (3.2.1)
Using arel (3.0.0)
Using tzinfo (0.3.31)
Using activerecord (3.2.1)
Using activeresource (3.2.1)
Using bundler (1.0.21)
Using coffee-script-source (1.2.0)
Using execjs (1.3.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.6.5)
Using rdoc (3.12)
Using thor (0.14.6)
Using railties (3.2.1)
Using coffee-rails (3.2.2)
Using johnson (1.2.0)
Using jquery-rails (2.0.0)
Using mysql (2.8.1)
Using mysql2 (0.3.11)
Using rails (3.2.1)
Using sass (3.1.14)
Using sass-rails (3.2.4)
Using uglifier (1.2.3)
[32mYour bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.[0m

Aplikacja testowa ma tylko 1 kontroler (cześć), 1 widok (indeks) i 1 model. Gdy katalog główny to domyślna strona HTML, jest w porządku, ale kiedy zmienię katalog główny na „hello # index”, pojawia się 500 stron błędów.

Nie wiem, czy coś jest z tym związane, ale podczas korzystania z „testu prowizji” otrzymuję:

Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo „/var/lib/mysql/mysql.sock”

Ale tam nie ma mysql.sock. Kilka godzin szukałem tych problemów bez powodzenia. Czy ktoś może wskazać mi właściwy kierunek? Przepraszam, jeśli coś jest nie tak, to moje pierwsze pytanie tutaj.

Aktualizacja 1:

netstat -ln | grep mysql

Nic nie zwraca.

Aktualizacja 2: Teraz pojawia się strona błędu pasażera:

Nie można znaleźć rake-0.9.2.2 w żadnym ze źródeł (Bundler :: GemNotFound)

Ale klejnot znajduje się na Gemfile połączyć dostarczone przez mojego webhost do skonfigurowania testu. Zapomnij o portugalskim, spójrz na kod =). Tam możesz zobaczyć IP na linii hosta, a nie nazwę hosta taką jak ja, ale mówią, że używaj nazwy hosta, ponieważ DB IP może się zmienić. Tak, próbuję wszystkich testów przy użyciu obu.

O linii gniazda: użyłem go tylko wtedy, gdy wcześniej otrzymałem błąd mysql. Teraz go usunąłem.

O pasażerze: Robię testy po ponownym uruchomieniu pasażera za pomocą restart.txt

Odpowiedzi:

1 dla odpowiedzi № 1

Dziękuję za pomoc, ale webhost odpowiedział mi po wielu dniach niepokoju. Mówią (krótkie streszczenie):

Używasz szyn 3.2.1, a ta wersja nie ma dobrego wydajność we współdzielonym hoście. Zrobiliśmy test przy użyciu szyn 3.0.9 i działaliśmy normalnie Ponownie przebuduj aplikację za pomocą 3.0.9.

Nie muszę nawet mówić, że zmienię webhost. Mają tutorial dotyczący szyn 3.2.1 i to nie działa. To szalone, martwiło mnie przez 3 dni. Mój webhost to Locaweb (BR).

Jeszcze raz dziękuję za pomoc.


0 dla odpowiedzi nr 2

Poszukuje gniazda przy domyślnej ścieżce „/var/lib/mysql/mysql.sock” Jeśli nie jest tam, gdzie on istnieje, musisz to wyraźnie określić w parametrze socket:

Aby dowiedzieć się, gdzie jest plik gniazda, możesz:

netstat -ln | grep mysql

0 dla odpowiedzi № 3

Spróbuj uruchomić:

$ mysqladmin variables

powinien wypluć lokalizację gniazda, jeśli masz mysqladmin ...

EDYTOWAĆ:

Zaczyna mi się wydawać, że MySQL nie działa. Spróbuj:

$ cd /etc/init.d
$ ./mysqld start

Lub bardziej prosto:

$ /etc/init.d/mysqld start

0 dla odpowiedzi nr 4

Ponieważ podczas próby ponownego uruchomienia występują problemy z uprawnieniami mysqld, Polecam wysłanie e-maila do twojego hosta internetowego i spytanie go, jaki jest twój database.yml plik powinien wyglądać tak, jakbyś chciał uruchomić projekt Rails w swoim systemie.

Możliwe, że pomogli innym klientom rozwiązać ten problem w przeszłości.

Jeśli otrzymasz odpowiedź, zachęcam do dodania jej do pytania, aby inne osoby korzystające z tego samego hosta wiedziały, jak rozwiązać problem z bazą danych.


0 dla odpowiedzi № 5

Trochę pracy z dig pokazuje, że ta strona wyjaśnia, gdzie znaleźć szczegóły konfiguracji MySQL. To sugeruje mi, że twój webhost oddziela serwery bazy danych od serwerów aplikacji, więc problemem nie jest „potrzeba uruchomienia MySQL”.

Rozwiązaniem jest prawdopodobnie usunięcie socket linia od database.ymli sprawdź to host, username, password i database są poprawne jak na powyższy link; zauważ, że twoje wdrożenie produkcyjne prawie na pewno będzie szukało production sekcja, a nie development Sekcja.


0 dla odpowiedzi № 6

Myślę, że linia gniazd nie jest tu przydatna. Jeśli podasz linię AR, host powinien łączyć się z tym hostem zamiast używać gniazda unix

Jeśli nie używasz gniazda w konfiguracji mysql, usuń ten wiersz.

Aktualizacja

Inne punkty nie używają tej samej bazy danych do środowiska test / dev / prod, ponieważ test usunie bazę danych przed każdym testem i po jego wykonaniu

Czy możesz spróbować uruchomić następujące polecenie:

bundle exec rake test

Dzięki niemu aktywowany klejnot zostanie użyty za jednym razem z systemem.

Zasadniczo podczas wdrażania w twoim produkcie lub innym środowisku

zrób

bundle install command

wcześniej, aby zainstalować cały nowy klejnot wymagany przez aplikację


0 dla odpowiedzi № 7

Dlaczego nie spróbujesz użyć phpmyadmin na Apache2 dosprawdź, czy MySQL będzie działać, a także dostać się do ciebie bazy danych do kontroli. Może również pomóc nowszym wersjom w wersji 3.2.1 używać nowszych wersji ruby, takich jak 1.9. Widziałem, gdzie posty mówią, że 1.8 ma problemy z szynami 3.1. Powodzenia!


0 dla odpowiedzi № 8

1) Czy określiłeś prawidłowe źródło w swoim pliku Gemfile?

Na przykład możesz mieć rubygemy jako źródło klejnotów w lokalnej maszynie. Ale po stronie serwera może być konieczne dodanie source :rubygems w twoim Gemfile

2) Sprawdź, czy wykluczono dostawcę / pamięć podręczną w swoim repozytorium. Spróbuj dołączyć te pliki.