Open programdolt opened 4 years ago
同遇到,deps/cppjieba/DictTrie.hpp:153 FATAL exp: [ifs.is_open()] false. open /home/build0/go/pkg/mod/github.com/yanyiwu/gojieba@v1.1.1/dict/jieba.dict.utf8 failed.
我也遇到这个问题了,就是dict文件的问题,go默认是静态编译,所以一般情况下不用担心是否包含so的问题; 问题是需要可以自定义dict目录才行。
我这样解决了: dictDir := path.Join(filepath.Dir(os.Args[0]), "dict") jiebaPath := path.Join(dictDir, "jieba.dict.utf8") hmmPath := path.Join(dictDir, "hmm_model.utf8") userPath := path.Join(dictDir, "user.dict.utf8") idfPath := path.Join(dictDir, "idf.utf8") stopPath := path.Join(dictDir, "stop_words.utf8") jieba = gojieba.NewJieba(jiebaPath, hmmPath, userPath, idfPath, stopPath)
@cnjeffliu ,牛逼
go build main.go 就直接可以吗,不用.so动态库?我在本机go build main.go ,然后执行没有问题, 如果二进制包换到其他机器,就无法启动。现在感觉是没有so文件的问题,或其他机器该路径下无此文件。 这个目录是固定的吗,如何自己指定文件位置呢,谢谢! /usr/local/gopath/pkg/mod/github.com/yanyiwu/gojieba@v1.1.0/dict/jieba.dict.utf8