Docs 菜单
Docs 主页
/
MongoDB Shell
/

故障排除

在此页面上

  • 查看 npm日志文件
  • 非特定错误消息
  • 错误: Cannot find module
  • 卸载代码片段失败

警告

实验功能

此功能是实验性的。MongoDB 不支持代码片段。此功能可随时更改或删除,恕不另行通知。

预计不会出现错误,但如果您遇到错误,请在Github 存储库 中提出问题 对于此项目。

以下部分提供了故障排除建议。

如果遇到问题,可以从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"
}
}

后退

注册表