我有一个使用 rn-pdf-reader-js 的博览会项目,其内容如下(在 package-lock.json 中)
"node_modules/rn-pdf-reader-js": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/rn-pdf-reader-js/-/rn-pdf-reader-js-4.1.1.tgz",
"integrity": "sha512-KnBzB1wfHPdE/Qb6oMmX0/iAD60tp+kf0TZaHw6tb0ULrdSvaG5rspTJArUEA724qYFwuVG1U2B0WTK8inpe1Q==",
"dependencies": {
"buffer": "5.1.0",
"csstype": "2.6.8",
"js-base64": "2.4.5"
},
"peerDependencies": {
"expo": ">= 33.0.x < 37.0.x",
"expo-constants": ">= 5.0.0 < 9.x",
"expo-file-system": ">= 5.0.0 < 9.x",
"react": "16.x",
"react-native": "*",
"react-native-webview": ">= 7.0.5 < 8.x"
}
},
但是我使用的是expo版本47.0.9
所以,我想知道是否可以将 rn-pdf-reader-js 的对等依赖项编辑为“expo”:">= 33.0.x < 50.0.x" instead of "expo": ">= 33.0.x < 37.0.x"
我问是因为每次我安装任何其他依赖项时,我都会收到一条错误消息,指出 rn-pdf-reader-js 不兼容,然后我必须使用 --legacy-peer-deps 进行安装。这在 expo-go 应用程序中运行良好(应用程序运行正常),尽管 rn-pdf-reader-js 包据说已经过时,但我没有看到任何问题。
但是现在我无法构建我的项目,因为运行 npm install 会抛出错误
Cannot read properties of null (reading 'children')
这是解决问题的正确方法,而不必对所有事情都使用 --legacy-peer-deps 吗?
我知道有点晚了,但你可以从这里安装它这个叉子
为此,请在 package.json 中添加以下代码行
"rn-pdf-reader-js": "github:JoeBoulton/rn-pdf-reader-js"
然后运行 npm install