(Postgrex.Error) ОШИБКА 58P01 (undefined_file) $ libdir / postgis-2.4 - PullRequest
0 голосов
/ 04 января 2019

Мне пришлось заварить переустановить некоторые вещи, которые использует мой существующий проект.

Теперь я получаю эту ошибку, когда выполняю инструкцию SELECT:

Interactive Elixir (1.7.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>
18:07:23.636 [debug] QUERY ERROR source="shops" db=5.4ms
SELECT s0."id", s0."name", s0."place_id", s0."point", s0."inserted_at", s0."updated_at",ST_Distance_Sphere(s0."point", ST_SetSRID(ST_MakePoint($1,$2), $3)) FROM "shops" AS s0 WHERE (ST_DWithin(s0."point"::geography, ST_SetSRID(ST_MakePoint($4, $5), $6), $7)) ORDER BY s0."point" <-> ST_SetSRID(ST_MakePoint($8,$9), $10) [176.1666197, -37.6741546, 4326, 176.1666197, -37.6741546, 4326, 2000, 176.1666197, -37.6741546, 4326]

18:07:23.666 [error] #PID<0.356.0> running Api.Router terminated
Server: 192.168.20.9:4000 (http)
Request: GET /products?categories[]=1&categories[]=2&categories[]=3&categories[]=4&categories[]=5&categories[]=6&categories[]=7&categories[]=8&categories[]=9&categories[]=10&categories[]=11&categories[]=12&categories[]=13&categories[]=14&categories[]=15&categories[]=16&categories[]=17&categories[]=18&categories[]=19&categories[]=20&categories[]=21&categories[]=22&categories[]=23&categories[]=24&categories[]=25&keyword=%22%22&latitude=-37.6741546&longitude=176.1666197&distanceFromLocationValue=2&distanceFromLocationUnit=%22kilometers%22
** (exit) an exception was raised:
    ** (Postgrex.Error) ERROR 58P01 (undefined_file): could not access file "$libdir/postgis-2.4": No such file or directory
        (ecto) lib/ecto/adapters/sql.ex:436: Ecto.Adapters.SQL.execute_and_cache/7
        (ecto) lib/ecto/repo/queryable.ex:130: Ecto.Repo.Queryable.execute/5
        (ecto) lib/ecto/repo/queryable.ex:35: Ecto.Repo.Queryable.all/4
        (api) lib/api/controllers/product/get_product.ex:46: Api.Controllers.GetProduct.get_products/1
        (api) lib/api/router.ex:1: Api.Router.plug_builder_call/2
        (api) lib/plug/debugger.ex:123: Api.Router.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) /Users/Ben/Development/Projects/vepo/api/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4

Жалуетсяо PostGis.Я сделал brew install postgis, чтобы установить его снова.Все еще получаю ошибку.Где находится каталог $libdir в моем macbook, чтобы я мог просматривать файлы?Как мне исправить эту ошибку?

1 Ответ

0 голосов
/ 04 января 2019

Проблема заключалась в том, что мои версии postGis и postgresql были несовместимы (я использовал brew install xxx, чтобы получить их оба).

Поэтому я просто удалил все версии postgresql и postgis с моего компьютера: brew uninstall postgresql и brew uninstall postgis

brew list все еще перечислили одну версию postgresql:

postgresql9.4

Поэтому я удалил эту версию:

brew uninstall postgresql9.4

Затем я использовал postgres.app downloads , чтобы загрузить и установить postgresql и postgis, потому что он собирает их вместе и они всегда совместимы.

Я специально пошел для загрузки "Legacy Postgres.app с PostgreSQL 10", потому что это то, что я использовал на протяжении всей своей разработки для этого приложения.

Используйте инструкции на https://postgresapp.com/, чтобы установить его после загрузки.

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