Ошибка при генерации контроллера с рельсами [дубликат]

Другая ситуация, в которой вы можете получить эту ошибку, следующая:

У меня была такая же ошибка, и причина в том, что в инструкции INSERT, которая получала данные из UNION, порядок столбцов был отличается от оригинальной таблицы. Если вы измените порядок в # table3 на a, b, c, вы исправите ошибку.

select a, b, c into #table1
from #table0

insert into #table1
    select a, b, c from #table2
    union
    select a, c, b from #table3
108
задан The Unfun Cat 10 February 2013 в 11:43
поделиться

20 ответов

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Работал для меня. Все аналогичные не сделали.

295
ответ дан the Tin Man 31 August 2018 в 15:59
поделиться

На Mac Sierra, если вы используете Homebrew, выполните:

sudo ln -s /usr/local/Cellar/mysql@5.6/5.6.34/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
1
ответ дан Abhishek 31 August 2018 в 15:59
поделиться

Для MySql 5.6, установленного из DMG на Mavericks

sudo ln -s /usr/local/mysql-5.6.14-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
6
ответ дан Abhishek Pande 31 August 2018 в 15:59
поделиться

используйте это из командной строки:

sudo install_name_tool -id /usr/local/mysql-connector-c-6.1.3-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/local/mysql-connector-c-6.1.3-osx10.7-x86_64/lib/libmysqlclient.18.dylib

попробовал несколько компьютеров, где maverick всегда работает

0
ответ дан ADAM 31 August 2018 в 15:59
поделиться

Единственное, что сработало для меня, это:

sudo install_name_tool -change libmysqlclient.18.dylib \
/usr/local/mysql-5.6.23-osx10.8-x86_64/lib/libmysqlclient.18.dylib \
/Library/Ruby/Gems/2.0.0/gems/mysql2-0.4.3/lib/mysql2/mysql2.bundle

Заменить пути mysql и драгоценных камней в соответствии с вашей системой.

0
ответ дан Aleksandar Pavić 31 August 2018 в 15:59
поделиться

Я работал с командой rails g model, и я получил эту ошибку:

Library not loaded: libmysqlclient.18.dylib

Я пробовал это, и он функционировал для меня. Я использовал Mavericks 10.9.5

sudo ln -s /usr/local/mysql-5.6.19-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Спасибо!

Теперь я использую Yosemite 10.10.5, и у меня такая же ошибка, поэтому я просто запустил эту команду на терминал и он был успешно исправлен.

$ sudo ln -s /usr/local/mysql-5.6.26-osx10.8-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

также вы можете попробовать:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Оба они отлично работают для меня. Надеюсь, это может быть полезно!

0
ответ дан Alex Ventura 31 August 2018 в 15:59
поделиться

Если вы используете MySQL, установленный с HomeBrew в El Capitan, вы должны связать его следующим образом:

sudo ln -sf /usr/local/Cellar/mysql/5.6.27/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
8
ответ дан arjunswaj 31 August 2018 в 15:59
поделиться
gem uninstall -aIx

и

bundle install

работали для меня.

1
ответ дан atomiccoder 31 August 2018 в 15:59
поделиться

У меня возникла проблема «Библиотека не загружена: libmysqlclient.18.dylib» при импорте MySQLdb из MySQL Для python3 :

    Traceback (most recent call last):
  File "test.py", line 3, in <module>
    import MySQLdb
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/MySQL_python-1.2.4-py3.5-macosx-10.11-x86_64.egg/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/MySQL_python-1.2.4-py3.5-macosx-10.11-x86_64.egg/_mysql.cpython-35m-darwin.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/MySQL_python-1.2.4-py3.5-macosx-10.11-x86_64.egg/_mysql.cpython-35m-darwin.so
  Reason: image not found

Решение работает для меня: Mac OS X 10.11.1 Python3.5

Edit ~/.bash_profile:
export PATH="/opt/local/Library/Frameworks/Python.framework/Versions/3.5/bin:$PATH"
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
export PATH="/usr/local/mysql/bin:$PATH"
export PATH="/usr/local/mysql/lib:$PATH"
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
0
ответ дан Binh Dang 31 August 2018 в 15:59
поделиться

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

В моем случае (El Capitan, mysql установлен через homebrew), brew update && brew upgrade вызвало обновление пакета mysql до 5.7.10 (из 5.6.x).

Обновление вызвало libmysqlclient.18.dylib для замены на libmysqlclient.20.dylib, но mysql2 gem все еще полагался на первый.

Чтобы устранить проблему, я сделал: gem uninstall mysql2 && gem install mysql2

Обратите внимание, что подобные проблемы могут возникать в разных библиотеках, управляемых доморощенным ( см. мой собственный ответ на это, например )

37
ответ дан Community 31 August 2018 в 15:59
поделиться

Чтобы убедиться, какая символическая ссылка необходима (зависит от версии mysql и версии os):

$ locate libmysqlclient.18.dylib
/usr/local/mysql-5.6.24-osx10.8-x86_64/lib/libmysqlclient.18.dylib

и так:

ln -s /usr/local/mysql-5.6.24-osx10.8-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
2
ответ дан Fraide 31 August 2018 в 15:59
поделиться

Я использую Rails REE (2.3.4) для унаследованной системы. После обновления до El Capitan запуск скрипта / консоли приводил к ошибке, и мое приложение больше не запускалось (используя pow):

$ script/console
Loading development environment (Rails 2.3.4)
/blah-blah/gems/activerecord-2.3.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:76:in establish_connection:RuntimeError: Please install the mysql2 adapter: gem install activerecord-mysql2-adapter (dlopen(/blah-blah/gems/mysql2-0.2.19b4/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /blah-blah/gems/mysql2-0.2.19b4/lib/mysql2/mysql2.bundle
  Reason: image not found - /blah-blah/gems/mysql2-0.2.19b4/lib/mysql2/mysql2.bundle)

Из этой самой темы, выше, я решил, что мне нужно было это сделать команда в терминале: sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib Эта команда вызвала ошибку: «ln: /usr/lib/libmysqlclient.18.dylib: операция не разрешена». Я никогда не видел эту ошибку раньше.

После довольно много рытья я нашел эту статью: http://www.macworld.com/article/2986118/security/how-to- modify-system-integrity-protection-in-el-capitan.html и следуйте инструкциям, чтобы отключить SIP (новую защиту целостности El Capitan). После отключения SIP и после перезагрузки команда ln работала нормально. Затем я отключил SIP. Теперь все в порядке. Мое приложение снова запускается с использованием pow и без ошибок запускает скрипт / консоль. Надеюсь, это поможет вам.

1
ответ дан GeezerGeek 31 August 2018 в 15:59
поделиться

Если вы используете Bitnami RubyStack и столкнулись с подобной проблемой. Попробуйте этот

sudo ln -s /Applications/rubystack-2.0.0-17/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
0
ответ дан julienc 31 August 2018 в 15:59
поделиться

Я подтверждаю патч от Abhishek работает .

тоже работает для Yosemite.

note: вместо ссылки на конкретную версию mysql , используйте тот факт, что mysql уже создал символическую ссылку:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

это решение действительно работает для Xcode и C API.

4
ответ дан Kyle Decot 31 August 2018 в 15:59
поделиться

Моя проблема с загрузкой этого файла пакета была плохой символической ссылкой. Поэтому проверьте ссылку и при необходимости замените ее на новую. В этот момент все встало на свои места. Не знаю, как это произошло, но так оно и было. Первый раз, когда произошла синтаксическая ошибка.

0
ответ дан Rich_F 31 August 2018 в 15:59
поделиться

Я столкнулся с этой проблемой после полного удаления и последующей установки MySQL. В частности:

Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.20.dylib

Я даже не коснулся моего приложения Rails.

Переустановка mysql2 gem решила эту проблему.

$ gem uninstall mysql2
$ gem install mysql2 -v 0.3.18 # (specifying the version found in my Gemfile.lock)

[MySQL 5.7.10, Rails 4.0.0, Ruby 2.0.0, Mac OS X Yosemite 10.10]

8
ответ дан sealocal 31 August 2018 в 15:59
поделиться

Это работает для меня:

ln -s /usr/local/Cellar/mysql/5.6.22/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
2
ответ дан Son 31 August 2018 в 15:59
поделиться

Для тех, кто использует варево. Просто свяжите версию mysql с опцией «--force».

brew link mysql56 --force
1
ответ дан tagaism 31 August 2018 в 15:59
поделиться

В El Capitan я получил ln: /usr/lib/libmysqlclient.18.dylib: Operation not permitted

В El Capitan /usr/lib/ теперь есть ограниченный флаг и не может быть записано без отключения безопасности, поэтому я просто поставлю ссылку в /usr/local/lib вместо .

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

Сервер Rails снова работает отлично.

119
ответ дан TinMonkey 31 August 2018 в 15:59
поделиться

После множества поисковых запросов и попыток все выше ... Единственное, что решило мою проблему, это команда:

$install_name_tool -id /usr/local/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

Я использую macbook pro, OSX 10 El Capitan. Дарвин xxxx-MacBook-Pro.local 15.6.0 Ядро Дарвина Версии 15.6.0: Чт 23 июня 18:25:34 PDT 2016; XXX: xnu-3248.60.10 ~ 1 / RELEASE_X86_64 x86_64 Perl: v5.18.2 Mysql: 5.6.19

0
ответ дан Tunaki 31 August 2018 в 15:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: