Closed brunoyang closed 9 years ago
bae我没用过。
是不是远端部署的时候忘了 npm install nodejieba
?
应该不是没有install的问题,因为bae是通过 package.json
自动部署的,里面有"nodejieba": "^0.2.10",
这一句
更新了一个新的nodejieba版本 v0.2.11 ,里面对于初始化错误打更详细的日志信息。你升级一下再部署一下。报错再贴一下新的报错信息。谢谢。
2015-05-14 17:45:06 DictTrie.hpp:124 FATAL file ./node_modules/nodejieba/dict/jieba.dict.utf8 open failed. 不好意思,最近忙着项目,这是重新部署上去之后出来的错误信息
是词典路径问题,更新了一个新版本 v0.2.12 专门解决这类问题。
以前的词典加载路径是:
nodejieba.loadDict("./node_modules/nodejieba/dict/jieba.dict.utf8", "./node_modules/nodejieba/dict/hmm_model.utf8", "./node_modules/nodejieba/dict/user.dict.utf8");
现在改成:
nodejieba.loadDict(nodejieba.DEFAULT_DICT, nodejieba.DEFAULT_HMM_DICT, nodejieba.DEFAULT_USER_DICT);
主要是为了避免词典路径写相对地址导致的一些运行目录不一致的问题。 新用法请看 README.md 和 test/目录下的示例文件。
使用最新版本v1.0.0吧,妈妈再也不用担心你的词典路径问题。
在本地跑是没有问题的,具体的路径可以查看 这里 ,nodejieba引用在app/models/nodejieba.js,在app/controllers/ad里调用了nodejieba。
但是部署到百度BAE上后,出现了路径问题,提示如下: node: ../src/CppJieba/DictTrie.hpp:146: void CppJieba::DictTrie::_loadDict(const string&): Assertion `ifs.is_open()' failed.