首先,我将给予这个问题的一些背景。
我正在开发一个NPM库。在项目文件夹中,我有另一个名为“example”的文件夹,用于测试库。结构看起来像下面。
|- node_modules/
|- src/
|- example/
| |- node_modules/
| |- src/
| |- package.json
|- package.json
根文件package.json的依赖项为babel-jest
。example/package.json的依赖项是react-scripts
。在example目录中运行react-scripts start
时,会出现以下错误:
据我所知,这是因为example/目录中的package.json继承了 (不确定这是否是正确的术语) 根package.json的依赖项。
也就是说,我可以使用安装在根package.json中的依赖项,在example/的src/中,这在某些情况下很方便。但这是我的用例的阻塞器。
我如何防止这种行为?(不改变目录结构)
谢谢你。
2条答案
按热度按时间vd2z7a6w1#
据我所知,Dan Abramov建议使用
SKIP_PREFLIGHT_CHECK=true
来解决这个问题,因为没有真实的的解决方案。5uzkadbs2#
两种可行的选择是设置前缀或执行一些脚本来合并两个
node_modules
文件夹。合并两个文件夹
带前缀安装
另一件需要考虑的事情是,如果您正在应用程序中工作并使用其他一些包。出于某种原因,我并不完全理解当使用一个工作区包时,我无法让它工作,除非该包是在npm上分发的。但由于某种原因,它确实在yarn中使用了--前缀标志的等价物时找到了它。