原本是在windows 7上安装的spacemacs。安装GNU Emacs 24.5.1,然后在%HOME%目录下使用.emacs.d、.spacemacs.d、.spacemacs这三个文件/文件夹进行管理配置。平时主要对这三个文件/文件夹进行备份。
而之前是可以正常补全的。层下面packages.el的相关配置如下:
(defconst wenhao-packages
'(youdao-dictionary
company
)
)
(defun wenhao/post-init-company ()
(progn
(setq company-minimum-prefix-length 1
company-idle-delay 0.08)
))
(add-hook 'after-init-hook'global-company-mode)
关于spacemacs-0.105.21 出现company报 "Company backend 'xxx' could not be initialized: Invalid byte opcode: op=183, ptr=2"错误。如下图所示。
因为目前最新版的spacemacs似乎有些改变。使用2018年最新的spacemacs配置更新之后,不知道为什么使用方式都不一样了,按SPC前缀,不起作用了。所以,注意这里说的问题是旧版的spacemacs。
出现这个问题尝试各种的解决方案,
使用popkit源,执行
M-x packages-list,却发现没有company单独的这项。
然后把过去备份的.emacs.d拿过来覆盖,还是不行。
使用最新版的spacemacs或者子龙山人的配置也都不对,SPC不能用。
最后去检查popkit的主页http://elpa.popkit/,在这里搜索company包,发现明明有这个包啊!怎么M-x list packages找不到。
把这个company包下载下来,company-20180616.608.tar。
再到.emacs.d中去找company包,在.emacs.d\elpa下面找到原来有两个版本,可能这两个版本冲突了。造成company backend不能初始化。
注意company的版本,为了跟其他相关包的版本对应(company-quickhelp-20160826.806),删除2017版的company,留下2016版的。
然后启动spacemacs,试一下自动补全,终于正常了。
更多推荐
spacemacs报错Company backend 'xxx' could not be initialized.解决方案
发布评论