npm-doctor Check your environments

SYNOPSIS

npm doctor

DESCRIPTION

npm doctor运行一组检查,以确保您的npm安装具有管理JavaScript软件包所需的内容. npm主要是一个独立工具,但确实有一些必须满足的基本要求:

如果没有所有这些正常工作,npm可能无法正常工作. 许多问题通常归因于npm代码库之外的内容,因此npm doctor确认npm安装处于良好状态.

另外,除此之外,由于使用旧版本的npm,还有很多问题报告. 由于npm一直在改进,因此运行[email protected]比旧版本更好.

npm doctor验证您环境中的以下项目,如果有任何建议的更改,它将显示它们.

npm ping

默认情况下,npm从主要npm注册表registry.npmjs.org . npm doctor在注册表中命中了一个特殊的ping端点. 也可以使用npm ping进行检查. 如果此检查失败,则您可能正在使用需要配置的代理,或者可能需要与您的IT员工联系,以通过HTTPS获得对registry.npmjs.org访问.

这项检查是针对您配置的注册表进行的(通过运行npm config get registry可以查看其内容),如果您使用的私有注册表不支持主注册表支持的/whoami端点,此检查可能会失败.

npm -v

尽管Node.js可能与特定版本的npm捆绑在一起,但是CLI团队的政策是,我们建议所有用户都运行[email protected] . 由于CLI由一小小组人员维护,因此只有一行开发资源,因此npm自己的长期支持版本通常只收到关键的安全性和回归修复程序. 该团队认为,最新测试版的npm几乎总是可能是npm的功能最强大且无缺陷的版本.

node -v

对于大多数用户而言,在大多数情况下,最好的Node版本将是最新的长期支持(LTS)版本. 那些想要访问ECMAscript新功能或对Node的标准库进行最新更改的人可能正在运行较新的版本,并且由于企业更改控制策略,某些人可能需要运行较旧的Node. 没关系! 但是总的来说,npm团队建议大多数用户运行Node.js LTS.

npm config get registry

某些人可能是从私有软件包注册表中为您的项目或公司安装的. 那很棒! 你们中的其他人可能正在关注教程或StackOverflow问题,以解决您可能遇到的问题. 有时,这可能需要更改您指向的注册表. npm doctor这一部分仅让您(也许是任何帮助您获得支持的人)知道您没有使用默认注册表.

which git

虽然自述文件中已对此进行了记录,但可能并不明显npm需要安装Git来完成它所做的许多事情. 另外,在某些情况下(尤其是在Windows上),您可能会以无法通过PATH访问Git的方式设置Git,以便npm可以找到它. 此检查确保Git可用.

Permissions checks

Validate the checksums of cached packages

发布npm软件包时,发布过程将生成一个校验和,npm在安装时会使用该校验和来验证软件包在传输过程中没有损坏. npm doctor使用这些校验和来验证本地缓存中的程序包tarball(您可以使用npm config get cache查看该npm config get cache ,并使用npm cache ls查看该缓存中的内容–可能比您期望的还要多!). 如果您的缓存中有损坏的软件包,则可能应运行npm cache clean并重置缓存.

SEE ALSO


by  ICOPY.SITE