Таким образом, у меня есть приложение Ruby on Rails, которое я пытаюсь запустить (в разработке) на Snow Leopard. У меня есть он работающий над моим компьютером Ubuntu, но теперь я должен разбудить свой набор среды Snow Leopard.
Первоначально, я установил MySQL 2.8.1 Драгоценный камень Ruby и сталкивался с этой проблемой:
uninitialized constant MysqlCompat::MysqlRes
Но благодаря этому учебному руководству я смог разрешить его путем выполнения этой команды и установки предыдущей версии Драгоценного камня:
export ARCHFLAGS="-arch i386 -arch x86_64" ;sudo gem install --no-rdoc --no-ri -v=2.7 mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
Теперь, когда я решил тот вопрос, я сталкиваюсь с другой ошибкой:
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
Это происходит, когда я пытаюсь работать rake db:migrate
а также когда сервер работает. Как я могу решить этот вопрос?
Причина Вы сталкиваетесь с этой ошибкой, состоит в том потому что database.yml
файл конфигурации Вашего приложения направляющих указывает местоположение сокета.
development:
adapter: mysql
encoding: utf8
reconnect: false
database: myapp_development
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock
Так как Ваш Сокет MySQL Ubuntu находится в другом месте, чем Ваш Сокет MySQL Snow Leopard, необходимо будет создать символьную ссылку, если Вы хотите смочь совместно использовать тот же файл конфигурации среди различных компьютеров.
sudo ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
Примечание: Я должен был создать mysqld
каталог, прежде чем я мог поместить символьную ссылку в него.