笔记
windows安装charlock_holmes失败:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
E:/command/ruby-2.3.3-i386-mingw32/lib/ruby/gems/2.3.0/gems/charlock_holmes-0.7.3/ext/charlock_holmes
E:/command/ruby-2.3.3-i386-mingw32/bin/ruby.exe -r
./siteconf20170316-17732-c1u0gc.rb extconf.rb
checking for main() in -licui18n... no
需要icu,在http://site.icu-project.org/download直接下载windows包http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-Win32-msvc10.zip,解压然后运行
gem install charlock_holmes -- \
--with-icu-dir=E:\command\icu \
--with-icui18nlib=icuin \
--with-icudatalib=icudt
输出
To see why this extension failed to compile, please check the mkmf.log which can be found here:
E:/command/ruby-2.3.3-i386-mingw32/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/charlock_holmes-0.7.3/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in E:/command/ruby-2.3.3-i386-mingw32/lib/ruby/gems/2.3.0/gems/charlock_holmes-0.7.3 for inspection.
Results logged to E:/command/ruby-2.3.3-i386-mingw32/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/charlock_holmes-0.7.3/gem_make.out
还是无法安装charlock_holmes,在它的github的issues中有人给出了解决方法。
编译ICU
- 下载windows源码 http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.zip,其中的source解压到E:/command/icu/source。
- 运行ruby devkit(我的
E:\command\RubyDevKit)
中的msys.bat
- 进入到source目录,输入
cd /e/command/icu/source
- 运行
runConfigureICU MinGW
. 它会进行一些检查例如checking for ICU version numbers... release 55.1, library 55.1, unicode version 7.0
. - 运行
make -j 2
(根据cpu核数) . - 运行
make install DESTDIR=$PWD/dist
. - 完成后在
source/dist/usr/local
.
下载libz for MinGW
- 从 sourceforge 下载 libz-1.2.7-1-mingw32-dev.tar.lzma.
- 将其中的
lib/libz.a
解压到E:\command\RubyDevKit\mingw\lib
安装gem
gem install charlock_holmes -- \
--with-icu-dir=E:\command\icu\source\dist\usr\local \
--with-icui18nlib=icuin \
--with-icudatalib=icudt
或
bundle config build.charlock_holmes \
--with-icu-dir=E:\command\icu\sources\dist\usr\local \
--with-icui18nlib=icuin \
--with-icudatalib=icudt
bundle install
终于看到
Successfully installed charlock_holmes-0.7.3
Parsing documentation for charlock_holmes-0.7.3
Installing ri documentation for charlock_holmes-0.7.3
Done installing documentation for charlock_holmes after 0 seconds
1 gem installed