项目需要依赖项,需要 B 。我想在 B 中更改一些代码。但是每次我重新运行yarn
(添加新的依赖性)时,这些更改都会全部回滚。
例如:在我的 react-native 项目中,我需要"react-navigation": "^2.0.1"
,在react-navigation's package.json
中也需要"react-native-safe-area-view": "^0.8.0"
。我在react-native-safe-area-view/index.js
中更改了一些代码,因为很难升级反应导航。
另一个示例:同一项目,我在RNCamere.m
(Objective-C)中更改了一些代码。很难升级node_modules/react-native-camera/ios/RN/RNCamera.m
。
但是每次我添加新的依赖项(react-native-camera
)时,这些更改都会全部回滚。所以我必须再次做同样的事情。我的伙伴也必须一次又一次地做同样的事情。
是否存在用于优化此工作流程的好的解决方案?我真的不想做同样的工作。
我认为每次纱后使用yarn add
来更改这些文件是一个好方法,但是我必须编写冗长的脚本来对其进行修复。还有其他建议吗?
答案 0 :(得分:0)
您应该在您的一个仓库中创建react-native-safe-area-view
项目的分支。然后在您的package.json
中添加以下内容:
"react-native-android-action-sheet": "git+ssh://git@url_of_your_fork/react-native-safe-area-view.git#v0.0.1",
答案 1 :(得分:0)
我的情况是:项目依赖于A,A依赖于B,A也依赖于C,C也依赖于B。
node_modules:
react-native-safe-area-view@0.8.0 -> B@0.8.0
react-navigation@2.2.0 -> A
react-navigation-tabs@0.5.0 -> C
node_modules:
react-native-safe-area-view@0.7.0 -> B@0.7.0
我的解决方法是:
package.json
修改为git + https://github.com/MYNAME/ C .git /#mytag package.json
修改为git + https://github.com/MYNAME/ C .git /#mytag package.json
修改为git + https://github.com/MYNAME/ B .git /#mytag package.json
修改为git + https://github.com/MYNAME/ A .git /#mytag 问题解决了。这是一个艰难的尝试。
以下是github问题的详细信息:https://github.com/react-navigation/react-navigation/issues/5205