簡體   English   中英

在 macOS 上為 xampp 安裝 mongodb 擴展

[英]install mongodb extension for xampp on macos

我整晚都在尋找,但我一直無法找到解決方案。 我試圖通過運行sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongodb ,但最后我收到此錯誤

fatal error: 'unicode/usprep.h' file not found
#include <unicode/usprep.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [src/libmongoc/src/libmongoc/src/mongoc/mongoc-scram.lo] 
Error 1
ERROR: `make' failed

我遇到過同樣的問題。 我有icu4c ,開發人員工具,我應該安裝的所有東西。 應該有效..我很困惑為什么它不能編譯。

問題是這樣的:它試圖使用位於 XAMPP 目錄 ( /Applications/XAMPP/xamppfiles/bin ) 中的icu4c文件。 這是 XAMPP 附帶的內容,而不是您剛剛安裝的內容(或通過brew install icu4c )。 它使用了錯誤的二進制文件進行編譯!

您可以通過執行以下操作來檢查它的來源: which icuinfo

它應該類似於/usr/local/opt/icu4c/bin/icuinfo (路徑可能會有所不同,我在 MacOS Catalina 上並安裝了自制軟件)而不是/Applications/XAMPP/xamppfiles/bin

我們大多數人都修改了我們的$PATH以包含 XAMPP bin 目錄,並且由於 icu4c 位於/usr/local/opt/icu4c/bin/usr/local/opt/icu4c/sbin ,因此不知道它的存在。 這 2 個特定的icu4c路徑不在您要在其中搜索文件的位置的系統路徑中。所以要么 A)它找不到它,要么 B)它在 XAMPP bin 目錄中找到那個。

由於我們基本上在 2 個目錄中安裝了icu4c ,因此我們需要確保我們想要的目錄是$PATH並且在 XAMPP 之前!

解決方案

您應該知道如何修改 $PATH。 我使用 iTerm 和 zsh (oh-my-zsh) 僅供參考。

我還按照成功編譯后的建議添加了LDFLAGSCPPFLAGSPKG_CONFIG_PATH值。

這是我的.zshrc文件中的一個片段:

# My cleaner way of organizing my paths
BIN=$HOME/bin
LOCAL_BIN=/usr/local/bin
HOMEBREW=/usr/local/sbin
COMPOSER=$HOME/.composer/vendor/bin
XAMPP=/Applications/XAMPP/bin
ICU4C_BIN=/usr/local/opt/icu4c/bin
ICU4C_SBIN=/usr/local/opt/icu4c/sbin

export PATH=$HOMEBREW:$COMPOSER:$ICU4C_BIN:$ICU4C_SBIN:$XAMPP:$BIN:$LOCAL_BIN:$PATH

export LDFLAGS="-L/usr/local/opt/icu4c/lib"
export CPPFLAGS="-I/usr/local/opt/icu4c/include"

export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"

顯然,您可以忽略$HOMEBREW$COMPOSER等,並根據需要申請。 我只是將它們分開以獲得干凈且易於理解的 $PATH。 老實說,我真的建議像我上面那樣組織和分離你的路徑。 它有很大幫助!

在 Mac 上,您首先需要安裝 icu4c:

$ brew install icu4c
$ brew link icu4c --force

然后修改您的$PATH以包含icu4c

export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export LDFLAGS="-L/usr/local/opt/icu4c/lib"
export CPPFLAGS="-I/usr/local/opt/icu4c/include"

最后為 php 安裝mongodb驅動:

$ sudo pecl install mongodb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM