文档菜单
文档首页
/
MongoDB Shell
/

故障排除

本页内容

  • 查看npm 日志文件
  • 非特定错误消息
  • 错误: 找不到模块
  • 卸载代码片段失败

警告

实验性功能

此功能为实验性。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"
}
}

返回

注册表