故障排除
以下部分提供了故障排除建议。
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", "")'
错误: Cannot find module
问题:当您尝试启动 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" } }