问题现象
今天我在给自己的 docusaurus2
项目 npm i
安装以来的时候,发生以下报错。在网上也没找到有用的办法,所以根据自己的解决过程记录一下。
当我在 npm i
安装以来的时候出现 no template named 'remove_cv_t' in namespace 'std'; did you mean 'remove_cv'?
的错误,原因就是 node
中的一个类库的模板找不到,应该是由于版本的原因导致名称不一致。但是我重新创建的 docusaurus2
项目是可以正常启动的。这就说明是依赖包的问题,我们从途中能够看到是在编译 nodejieba
的时候报的错,说明就是 nodejieba
的问题。
解决办法
单独安装 nodejieba
即可解决,具体原因就是因为不同的 node
版本支持的 nodejieba
版本不同。原来项目中的 package.json
中定义的 nodejieba
版本太低,通过单独安装 nodejieba
即可下载到匹配的 nodejieba
版本。同时 package.json
中的信息也会同步更新。
这个问题启示我们,在进行项目异地编译的时候一定要注意node版本的兼容性,尽量保证版本一致。避免此类的问题的出现。