有進展了,發現編譯環境不支持、不匹配
成文之前把問題提給了 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/