有进展了,发现编译环境不支持、不匹配
成文之前把问题提给了 yanyiwu,nodejieba 的作者:
https://github.com/yanyiwu/nodejieba/issues/52
沿着 yanyiwu 的提点我发现了问题: nodejs@5.9.0 与 C++ compiler 不匹配,算是过了一关。在CentOS 6.7下发现问题
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
[root@centos-gdm node-v5.9.0]# ./configure
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
[root@centos-gdm node-v5.9.0]# yum -y install gcc-c++已加载插件:fastestmirror, refresh-packagekit, security设置安装进程Loading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirror.bit.edu.cn * updates: mirrors.opencas.cn包 gcc-c++-4.4.7-16.el6.i686 已安装并且是最新版本无须任何处理
- 回到win7卸载 nodejs@v5.7.0, 再安装 nodejs@v0.12.12
卸载 (在windows中咋安的就咋卸,装!好像白话文写不好就要装饰以文言。)
C:\> C:\Windows\SysWOW64\msiexec.exe /x {626A6D42-32B5-4B55-A026-671859BEEF2C}
下载并安装
https://nodejs.org/download/release/v0.12.12/x64/node-v0.12.12-x64.msi
- Nodejs 变更为 nodejs@v0.12.12
X230@X230-PC MINGW64 /e/BGNNR/TEST/blog/hexo
$ hexo -version
hexo: 3.2.0
hexo-cli: 1.0.1
os: Windows_NT 6.1.7601 win32 x64
http_parser: 2.3
node: 0.12.12
v8: 3.28.71.19
uv: 1.6.1
zlib: 1.2.8
modules: 14
openssl: 1.0.1s
X230@X230-PC MINGW64 /e/BGNNR/TEST/blog/hexo
$ npm --version
2.14.9
X230@X230-PC MINGW64 /e/BGNNR/TEST/blog/hexo
$ npm-gyp
bash: npm-gyp: command not found
- 安装 nodejieba
X230@X230-PC MINGW64 /e/BGNNR/TEST/blog/hexo
$ npm install hexo-ruby-character --save
> nodejieba@1.4.10 install E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba
> node-gyp rebuild
E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba>if not defined npm_config_node_gyp (node "D:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
index.cpp
nodejieba.cpp
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(19): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(19): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\index.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(30): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(30): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\index.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(41): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\index.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(41): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\nan\nan_new.h(208): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\index.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(17): 参见对正在编译的函数 模板 实例化“v8::Local<v8::Array> Nan::New<v8::Array,unsigned __int64>(A0)”的引用
with
[
A0=unsigned __int64
]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\deps\cppjieba\SegmentBase.hpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\deps\cppjieba\FullSegment.hpp(65): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\deps\cppjieba\HMMSegment.hpp(152): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\deps\cppjieba\HMMSegment.hpp(168): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\nan\nan_new.h(208): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\nodejieba.cpp) [E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\nodejieba.vcxproj]
e:\bgnnr\test\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\lib\utils.h(17): 参见对正在编译的函数 模板 实例化“v8::Local<v8::Array> Nan::New<v8::Array,unsigned __int64>(A0)”的引用
with
[
A0=unsigned __int64
]
win_delay_load_hook.c
正在创建库 E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\Release\nodejieba.lib 和对象 E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\Release\nodejieba.exp
正在生成代码
已完成代码的生成
nodejieba.vcxproj -> E:\BGNNR\TEST\blog\hexo\node_modules\hexo-ruby-character\node_modules\pinyin\node_modules\nodejieba\build\Release\\nodejieba.node
hexo-ruby-character@1.0.6 node_modules\hexo-ruby-character
鈹斺攢鈹€ pinyin@2.6.2 (commander@1.1.1, nodejieba@1.4.10)
- 在博客中应用
我要吐槽电脑椅 | Guodunmin's Blog
http://guodunmin.com/2016/03/03/I-was-complaining-about-this-office-chair/