在 Mac(Monterey 12.2.1)上啟動 ruby?? 測驗時遇到一些問題。我已經啟動bundle install
- 一切都成功完成,之后我嘗試執行命令bundle exec rake db:test:refresh
,并收到以下錯誤
LoadError: Couldn't load the GEOS CAPI library.
/Users/alexandra_shimanovich/.bundle/ruby/2.5.0/gems/ffi-geos-0.3.0/lib/ffi-geos.rb:1000:in `rescue in <module:FFIGeos>'
/Users/alexandra_shimanovich/.bundle/ruby/2.5.0/gems/ffi-geos-0.3.0/lib/ffi-geos.rb:982:in `<module:FFIGeos>'
/Users/alexandra_shimanovich/.bundle/ruby/2.5.0/gems/ffi-geos-0.3.0/lib/ffi-geos.rb:51:in `<module:Geos>'
/Users/alexandra_shimanovich/.bundle/ruby/2.5.0/gems/ffi-geos-0.3.0/lib/ffi-geos.rb:7:in `<top (required)>'
/Users/alexandra_shimanovich/Documents/Curb/ride_manager/config/application.rb:9:in `<top (required)>'
/Users/alexandra_shimanovich/Documents/Curb/ride_manager/Rakefile:4:in `require'
/Users/alexandra_shimanovich/Documents/Curb/ride_manager/Rakefile:4:in `<top (required)>'
/Users/alexandra_shimanovich/.rbenv/versions/2.5.5/bin/bundle:23:in `load'
/Users/alexandra_shimanovich/.rbenv/versions/2.5.5/bin/bundle:23:in `<main>'
LoadError: Could not open library '/usr/lib/': dlopen(/usr/lib/, 0x0005): tried: '/usr/lib/' (not a file), '/usr/local/lib/' (not a file).
Could not open library 'lib.dylib': dlopen(lib.dylib, 0x0005): tried: 'lib.dylib' (no such file), '/usr/local/lib/lib.dylib' (no such file), '/usr/lib/lib.dylib' (no such file), '/Users/alexandra_shimanovich/Documents/Curb/ride_manager/lib.dylib' (no such file), '/usr/local/lib/lib.dylib' (no such file), '/usr/lib/lib.dylib' (no such file)
我查看了 ffi-geos.rb
def self.search_paths
@search_paths ||= begin
if ENV['GEOS_LIBRARY_PATH']
[ ENV['GEOS_LIBRARY_PATH'] ]
elsif FFI::Platform::IS_WINDOWS
ENV['PATH'].split(File::PATH_SEPARATOR)
else
[ '/usr/local/{lib64,lib}', '/opt/local/{lib64,lib}', '/usr/{lib64,lib}' ]
[ '/usr/local/{lib64,lib}', '/opt/local/{lib64,lib}', '/usr/{lib64,lib}', '/usr/lib/{x86_64,i386}-linux-gnu' ]
end
end
end
/usr/local/..
我知道在我的計算機中,lib 檔案不在/opt/homebrew/lib
. 但是當我往里看時,/opt/homebrew/lib
我沒有找到lib.dylib
。只有libgeos.3.10.2.dylib libgeos.dylib libgeos_c.1.16.0.dylib libgeos_c.1.dylib libgeos_c.dylib
.
請幫我找到正確的庫,并以某種方式告訴 ffi-geos.rb 查找正確的位置,我真的很感激!謝謝!
uj5u.com熱心網友回復:
但是當我查看 /opt/homebrew/lib 時,我沒有找到 lib.dylib
您發布的代碼ffi-geos.rb
不是在尋找lib.dylib
(或lib64.dylib
),而是在搜索路徑中添加/usr/local/lib
、/usr/local/lib64
等以尋找特定的 GEOS dylib。由于您的庫檔案在/opt/homebrew/lib
,因此該自動程序不會找到它們。
代碼中的第一個條件顯示您可以設定環境變數來定義搜索路徑。因此,使用以下命令設定庫路徑:
export GEOS_LIBRARY_PATH=/opt/homebrew/lib
希望這有效!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489098.html