故障排除
以下部分提供了故障排除建议。
查看npm
日志文件
如果您遇到问题,npm
日志文件是一个很好的开始。日志文件的位置将根据您的 npm
安装而变化。可能是这样的
/<NPM USER HOME>/.npm/_logs/2021-09-16T22_03_34_534Z-debug.log
当您找到日志文件时,请检查最新的一个。
非特定错误信息
问题: mongosh
在尝试启动 shell 时返回非特定错误信息。
解决方案:禁用代码片段,重启 mongosh
以继续调试。
mongosh --nodb --eval 'config.set("snippetIndexSourceURLs", "")'
错误:找不到模块
问题:尝试启动 shell 时,mongosh
返回类似以下错误消息
Error: Cannot find module '/<PATH to USER HOME>/.mongodb/mongosh/snippets/node_modules/@<REGISTRY NAME>/bad-snippet-name'
npm 日志文件可能包含如下行
36 error code ELSPROBLEMS 37 error missing: @<REGISTRY NAME>/bad-snippet-name@*, required by snippets@
解决方案:编辑 ~/.mongodb/mongosh/snippets/package.json
文件,删除包含 bad-snippet-name
的行。
在此示例中,别忘了删除上一行的尾随逗号。
{ "dependencies": { "@mongosh/snippet-analyze-schema": "^1.0.5", "@mongosh/snippet-spawn-mongod": "^1.0.1", "npm": "*", "@<REGISTRY NAME>/bad-snippet-name": "^1.0.7" } }
卸载代码片段失败
问题:卸载失败,但错误消息指的是另一个代码片段。
以下错误消息已重新格式化以提高可读性
Running uninstall... Uncaught: Error: Command failed: /usr/bin/mongosh /root/.mongodb/mongosh/snippets/node_modules/npm/bin/npm-cli.js --no-package-lock --ignore-scripts --registry=https://registry.npmjs.org uninstall --save @mongosh/snippet-mongocompat with exit code 1: \ npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/@<REGISTRY NAME>%2fbad-snippet-name - Not found npm ERR! 404 npm ERR! 404 '@<REGISTRY NAME>/bad-snippet-namen@*' is not in this registry.
解决方案:编辑 package.json
文件以删除缺失的条目。在此示例中,删除突出显示的行以及上一行的尾随逗号。
{ "dependencies": { "@mongosh/snippet-analyze-schema": "^1.0.5", "@mongosh/snippet-spawn-mongod": "^1.0.1", "npm": "*", "@<REGISTRY NAME>/bad-snippet-name": "^1.0.7" } }