【问题标题】:Can't install charlock_holmes gem无法安装 charlock_holmes gem
【发布时间】:2013-06-21 11:21:34
【问题描述】:

做的时候:

sudo gem install charlock_holmes

我收到以下错误:

Failed to build gem native extension

我尝试过: sudo apt-get install libicu-dev 正如各种互联网资源所建议的那样。

但是,这给了我以下错误:

E: Unable to locate package libicu-dev

快速浏览一下突触显示我有 libicu48。

文档建议使用以下内容:

bundle config build.charlock_holmes --with-icu-dir=/path/to/installed/icu4c 或:

gem install charlock_holmes -- --with-icu-dir=/path/to/installed/icu4c

但是,我不确定/path/to/installed/icu4c 在哪里。

【问题讨论】:

  • 你过得怎么样,有什么好运的,或者你有什么技巧可以分享给你身后的人吗?
  • 不抱歉,我真的忘记了这是干什么用的。我在检索某些包(php-pear、php-mbstring 等)时遇到了问题,所以我怀疑它与此有关。
  • 通常人们在安装 Gollum wiki 或 Gitlab 时会遇到这个问题。如果您不再寻求答案,并且由于此处没有其他建议并且在其他地方提出了此问题,您可能希望删除该问题。除非你还想回答?

标签: gem


【解决方案1】:

忘记记录在案的建议,您不需要使用该方法来指向 ICU 路径。 要使 charlock_holmes gem 工作,您需要使用捆绑配置传递一些标志。

从项目文件夹中的命令行运行以下命令:

$ mkdir .bundle    
$ bundle config --local build.charlock_holmes --with-ldflags='-L. -Wl,-O1 -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -lz -licuuc'

将新创建的文件 (/.bundle/config) 提交到版本控制并重新部署。

这个解决方案主要基于我从 Engine Yard 支持人员那里收到的建议,他们也从项目 github 问题中引用。 https://github.com/brianmario/charlock_holmes/issues/32#issuecomment-17033186

【讨论】:

  • 不是和你的earlier answer完全一样吗?
  • 当然!经过几天的搜索和浪费时间,我回到了人们一直在处理完全相同的问题并发布答案的网络上的地方。我寻找了很长时间才得到这个答案,并希望确保其他人在遇到此类问题时能够找到它。我已经建议这张海报关闭他们未回答的问题,因为他们还没有,我现在发布了一个有效的答案。我不认为答案需要是唯一的/改写为正确的。
  • 好的,我已经更新了我的帖子,以便在给出答案之前更直接地解决用户的问题。
  • 同意你的观点。让我们把它留给 SO 版主,因为它可能会被标记为重复的答案(不确定但仍然)。
  • 我还需要先这样做:sudo apt-get install zlib1g-dev。然后一切正常。
猜你喜欢
  • 2013-04-22
  • 1970-01-01
  • 2022-08-19
  • 2012-10-14
  • 2011-06-28
  • 2013-02-20
  • 2017-06-07
  • 2012-03-25
  • 2014-02-22
相关资源
最近更新 更多