如何查找警告原因:PropTypes 已移至单独的包

IT技术 reactjs react-native
2021-05-10 17:30:54

如果我收到警告“警告:PropTypes 已移至单独的包。” 如何找到仍在使用它的 npm 包?该警告不提供有关导致它的文件或包的任何详细信息。

在此处输入图片说明

2个回答

ReactpropTypes从他们的主包中弃用了 ,所以你不能使用React.PropTypes. 当你使用React.PropTypes它时会给你一个警告,但是当你使用propTypesfrom prop-typespackage 时你很好。

而已 :)

您可以使用这些知识通过以下命令查找正在使用它的 npm 包列表。

find ./node_modules -type f -print0 | xargs -0 grep 'PropTypes' | cut -d/ -f3 | sort | uniq | xargs -I{} grep -L 'prop-types' ./node_modules/{}/package.json

上面的命令将查找所有PropTypes文件中包含word 的所有 npm 包,然后查看package.json该包文件以检查是否prop-types包含包。如果prop-types包丢失,则打印该包的路径。

PS:我不是 bash 专家,所以我从这个serverfault 答案中得到的帮助很少(查找包含PropTypes该词的唯一 npm 包

在此处输入图片说明

PPS:答案假设您使用的是 Unix 机器。

这只是一个想法,所以可能没有那么有用,或者会有更好的解决方案,但您可以使用npm ls命令来获取依赖关系树。然后你可以找到依赖于 react 而不是 prop-types 的包。这是一种手动解决方案,可能是更好的解决方案。

关于这里的更多信息npm ls

概要

npm ls [[<@scope>/]<pkg> ...]

aliases: list, la, ll

描述

此命令将以树状结构将已安装软件包的所有版本及其依赖项打印到标准输出。