首先,我想在SO和整个网络上都发布大量有关此问题的帖子,但是我尝试了所有解决方案,没有任何帮助。
我正在构建一个React Native组件包,该组件将在其他几个React Native项目中使用。理想情况下,所有其他团队所要做的就是将依赖项添加到他们的应用程序中并运行npm install
。我已经将此包添加为对测试本机应用程序的依赖,以进行尝试,但是运行npm install
后,我检查了npm list
,它告诉我我的依赖关系未满足。
最初,这是我包裹的package.json
:
"peerDependencies": {
"react": "16.8.3",
"react-native": "0.59.3"
},
"dependencies": {
"react-viro": "2.14.0"
}
然后我将其更改为:
"dependencies": {
"react": "16.8.3",
"react-native": "0.59.3",
"react-viro": "2.14.0"
}
我什至尝试将其缩小为:
"dependencies": {
"react-viro": "2.14.0"
}
这是测试应用程序中的package.json
:
"dependencies": {
"react": "16.8.3",
"react-native": "0.59.3",
"my-lib": "file:../my-lib"
}
但是在npm install
和npm list
之后,我得到了:
npm ERR! missing: react@16.8.3, required by my-lib@1.0.0
npm ERR! missing: react-native@0.59.3, required by my-lib@1.0.0
npm ERR! missing: react-viro@2.14.0, required by my-lib-@1.0.0
(或在my-lib中仅将那一行声明为依赖项时,仅是最后一行)。
当然,当在android模拟器中运行该应用程序时,一旦应用程序加载,它会抱怨它找不到我的库,指向this issue,但是我尝试了那里提出的每种解决方案,但没有任何效果,我ve还尝试删除package-lock.json
和node_modules
,然后再次安装,没有任何效果,这让我发疯,这应该很简单,我在这里缺少什么?
注意:NPM是最新版本(6.9.0)
答案 0 :(得分:0)
因此,事实证明我的配置没有问题,问题来自与本地依赖项(file:..
)相关的unsolved NPM bug(至少在撰写本文时)该模块移至NPM,从那里拉出依赖关系,运行npm install
之后,不再有未满足的依赖关系。