Как исправить "sqlite3.h отсутствует"? - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь сделать какой-нибудь проект в ruby ​​и сделать так:

git commit -am "Добавить привет" heroku create git push heroku master

тогда я получил эту ошибку

remote:        checking for sqlite3.h... no
remote:        sqlite3.h is missing. Try 'brew install sqlite3',
remote:        'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
remote:        and check your shared library search path (the
remote:        location where your sqlite3 shared library is located).
remote:        *** extconf.rb failed ***
remote:        Could not create Makefile due to some reason, probably lack of necessary
remote:        libraries and/or headers.  Check the mkmf.log file for more details.  You may
remote:        need configuration options.
remote:
remote:        Provided configuration options:
remote:         --with-opt-dir
remote:         --without-opt-dir
remote:         --with-opt-include
remote:         --without-opt-include=${opt-dir}/include
remote:         --with-opt-lib
remote:         --without-opt-lib=${opt-dir}/lib
remote:         --with-make-prog
remote:         --without-make-prog
remote:         --srcdir=.
remote:        checking for sqlite3.h... no
remote:        sqlite3.h is missing. Try 'brew install sqlite3',
remote:        'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
remote:        and check your shared library search path (the
remote:        location where your sqlite3 shared library is located).
remote:        *** extconf.rb failed ***
remote:        Could not create Makefile due to some reason, probably lack of necessary
remote:        libraries and/or headers.  Check the mkmf.log file for more details.  You may
remote:        need configuration options.
remote:
remote:        Provided configuration options:
remote:         --with-opt-dir
remote:         --without-opt-dir
remote:         --with-opt-include
remote:         --without-opt-include=${opt-dir}/include
remote:         --with-opt-lib
remote:         --without-opt-lib=${opt-dir}/lib
remote:         --with-make-prog
remote:         --without-make-prog
remote:         --srcdir=.

Я пытался изменить свой гемфайл, как этот учебник https://devcenter.heroku.com/articles/sqlite3 и этот учебник Обнаружен гем sqlite3, который не поддерживается в Heroku , но ничего не изменилось.

Iпопытался установить sqlite3 этим

gem install sqlite3

и успешно, но ничего не изменилось.Это все еще дает мне ошибку, когда я хочу подтолкнуть мастера Heroku.

Не могли бы вы дать мне какие-либо предложения?

1 Ответ

0 голосов
/ 29 мая 2019

После удаления sqlite из gemfile (или сделать так, чтобы он был только в группе разработки / тестирования) - запустите bundle install и внесите изменения.

Суть в том, что heroku основана на контейнерах, вам нужно отличить это отваш локальный компьютер - локальные файлы попадают туда только тогда, когда они зафиксированы и отправлены, затем heroku создает файл «только для чтения» (строго говоря, его «диск» может быть записан, но все изменения могут быть потеряны в любой момент), который он затем запускает.

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