在 OSX 10.10.3 上安裝 gollum

在 OSX 10.10.3 上安裝 gollum

嘗試在 Mac OS X 10.10.3 和 Macports 上安裝 gollum 時收到此錯誤訊息:

sudo gem install charlock_holmes -- --with-icu-dir=/opt/local

********* 需要 icu(brew install icu4c 或 apt-get install libicu-dev)

問題已經發布解決方案是:

「按照錯誤訊息操作:使用brew安裝icu4c」。

有沒有一種方法可以避免切換到自製軟體而只安裝一個軟體包?

答案1

這個問題也類似於這個,但他們的答案結果是“只需在 MacPorts 上保釋並安裝 Homebrew”。我從來沒有使用過 Homebrew,這並不是說它有什麼問題,我剛開始使用 MacPorts,並且已經很確定自己的方式了。所以,我用第一個答案而不是接受的答案進行了更多的挖掘,我想我發現了你的問題(部分):應該--with-icu-dir指向/opt/local/lib/icu而不是/opt/local

當然,這只是拼圖的一小部分;你的旗幟真的需要的是--with-opt-lib--with-opt-include。也就是說,--with-icu-dir似乎沒有必要,因為gem只要您提供即可找到該設定--with-opt-lib

sudo gem install charlock_holmes -- --with-opt-lib=/opt/local/lib --with-opt-include=/opt/local/include

雖然這應該是正確的,因為我使用 rbenv 和來自我的主目錄的 macports,我的調用有些不同。但概念仍然是一樣的:

gem install charlock_holmes -- --with-opt-lib=$HOME/macports/lib --with-opt-include=$HOME/macports/include

話雖這麼說,我的個人目標實際上是使用 Bundler 進行安裝,因此這裡有一些額外的材料:

為了讓 Bundler 適當地傳遞建置標誌,您可以使用指令bundle config設定適當的值,例如:

bundle config --local build.charlock_holmes --with-opt-lib=/opt/local/lib --with-opt-include=/opt/local/include

然後常規bundle install應該可以工作。同樣,對於我的特定設置,我必須這樣做:

bundle config --local build.charlock_holmes '--with-opt-lib=$HOME/macports/lib --with-opt-include=$HOME/macports/include'

單引號,雖然不是嚴格地必要的,如果我做了壞事也很酷檢查我的.bundle/config回購協議,或任何其他原因,我可能會將配置複製到不同的用戶並在那裡運行它,因為這意味著$HOME在 Bundler 實際構建 gem 之前不會對其進行評估。

答案2

我不是 Mac 用戶,但看起來你唯一的選擇是自製或從原始碼安裝。有從來源安裝的說明這裡。該帖子是 2010 年的,但 2013 年的說明基本上相同這個帖子,所以它們可能仍然是準確的。

答案3

我確實是icu從 MacPorts安裝的

sudo -E port install icu

然後我安裝charlock_holmes使用

sudo -E gem install charlock_holmes -- \
--with-opt-lib=/opt/local/lib \
--with-opt-include=/opt/local/include/

最後使用安裝了Gollum

sudo -E gem install gollum

(這是在 Mac OS X 10.11.5 上,fwiw)

相關內容