Rails 3.2.1 - Не удалось найти rake-0.9.2.2 ни в одном из источников - Locaweb - PullRequest
0 голосов
/ 07 февраля 2012

Я новичок в Rails и у меня проблемы.О системе: Rails-3.2.1 Ruby-1.8.7 RedHat

Все хорошо работает в локальной системе.Проблема возникает на веб-хостинге.Я пытаюсь настроить систему, но приведенная информация недостаточно хороша.Я использую mysql (mysql2 gem), и database.yml настроен правильно (я думаю).

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

комплекткоманда

/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

Тестовое приложение имеет только 1 контроллер (привет), 1 просмотр (индекс) и 1 модель.Когда root - это html-страница rails по умолчанию, это нормально, но когда я изменяю root на «hello # index», я получаю страницу ошибки 500.

Я не знаю, есть ли что-то связанное, но когдаиспользуя 'rake test', я получаю следующее:

Не могу подключиться к локальному серверу MySQL через сокет '/var/lib/mysql/mysql.sock'

Нотам нет mysql.sock.Я искал пару часов об этих проблемах без успеха.Кто-нибудь может указать мне правильное направление?Извините, если что-то не так, это мой первый вопрос здесь.

Обновление 1:

netstat -ln | grep mysql

Ничего не возвращает.

Обновление2: Теперь я получаю страницу ошибки пассажира:

Не удалось найти rake-0.9.2.2 ни в одном из источников (Bundler :: GemNotFound)

Но гем находится на Gemfile. Это ссылка , предоставленная моим веб-хостом для настройки теста.Забудьте португальский, посмотрите код, =).Там вы можете видеть IP на строке хоста, а не имя хоста, как я, но говорят, что использовать имя хоста, потому что IP БД может измениться.Да, я пробую все тесты, используя оба.

Насчет строки сокета: я использовал ее только тогда, когда раньше получал ошибку mysql.Теперь я удалил его.

О пассажире: я делаю тесты после перезапуска пассажира с помощью restart.txt

Ответы [ 8 ]

1 голос
/ 11 февраля 2012

Спасибо за помощь, но веб-хост ответил мне после нескольких дней, мешающих им Они говорят (краткое резюме):

Вы используете rails 3.2.1, и эта версия не имеет хорошего производительность в общем хосте. Мы сделали тест с использованием рельсов 3.0.9 и работали обычно. Пожалуйста, перестройте свое приложение снова с 3.0.9.

Мне даже не нужно говорить, что я поменяю веб-хостинга. У них есть учебник для рельсов 3.2.1, и он не работает. Это безумие, беспокоило меня 3 дня. Моим веб-хостом был Locaweb (BR).

Еще раз спасибо за помощь.

0 голосов
/ 21 апреля 2012

1) Вы указали правильный источник в своем Gemfile?

Например, у вас могут быть рубины в качестве источника драгоценных камней на вашем локальном компьютере.Но для серверной части вам может понадобиться добавить source :rubygems в ваш Gemfile

2) Проверьте, не исключили ли вы поставщика / кеш в вашем репо.Попробуйте включить эти файлы.

0 голосов
/ 13 февраля 2012

Почему бы вам не попробовать использовать phpmyadmin на apache2, чтобы увидеть, будет ли MySQL работать, а также получить доступ к вашему базы данных для проверки. Также это может помочь более новым rails 3.2.1 использовать более новые версии ruby, такие как 1.9. Я видел, где сообщения говорят, что 1.8 имеет проблемы с рельсами 3.1. Удачи!

0 голосов
/ 08 февраля 2012

Небольшая работа с dig показывает, что на этой странице объясняется, где найти детали настройки MySQL .Для меня это означает, что ваш веб-хост хранит серверы баз данных отдельно от серверов приложений, и поэтому проблема не в том, чтобы «запускать MySQL».

Решение, вероятно, состоит в удалении строки socket из * 1007.* и проверьте, что host, username, password и database являются правильными согласно ссылке выше;обратите внимание, что ваше производственное развертывание почти наверняка будет искать раздел production, а не раздел development.

0 голосов
/ 08 февраля 2012

Я думаю, что линия сокетов здесь бесполезна.Если вы указываете строку хоста, AR должен подключаться к этому хосту вместо сокета unix

Если вы не используете сокет в конфигурации mysql, удалите эту строку.

Обновление

В другой точке не используйте ту же базу данных для тестирования / dev / prod envirnonment, так как при тестировании база данных будет стираться до и после каждого выполненного теста

Можете ли вы попробовать выполнить следующую команду:

bundle exec rake test

С его помощью точный активированный камень будет использоваться вместо системного.

Обычно при развертывании на вашем продукте или в другой среде

сделать

bundle install command

перед тем, как установить все новые драгоценные камни, необходимые для вашего приложения

0 голосов
/ 07 февраля 2012

Поскольку у вас возникают проблемы с разрешениями при попытке перезапустить mysqld, , я бы порекомендовал по электронной почте вашему веб-хосту спросить их, как должен выглядеть ваш файл database.yml, если вы хотите запустить проект Rails на их система.

Скорее всего, они помогали другим клиентам решить эту проблему в прошлом.

Если вы получите ответ, я рекомендую вам добавить его к вашему вопросу, чтобы другие люди, использующие тот же веб-хост, знали, как решить проблему с базой данных.

0 голосов
/ 07 февраля 2012

Попробуй запустить:

$ mysqladmin variables

должен выплюнуть расположение сокета, если у тебя есть mysqladmin ...

РЕДАКТИРОВАТЬ:

Начиная звучать для меня какMysql не работает.Попробуйте:

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

Или проще:

$ /etc/init.d/mysqld start
0 голосов
/ 07 февраля 2012

Ищет сокет по умолчанию путь '/var/lib/mysql/mysql.sock' Если это не то место, где оно существует, вы должны явно указать его в сокете: параметр

Чтобы узнать, где находится файл сокета, вы можете сделать:

netstat -ln | grep mysql
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...