I want to link only one of my project (Android or iOS) with the npm package. Is there any way to do it?
react-native link only for one project (Android or iOS)
18.9k Views Asked by Aaditya Paliwal At
3
There are 3 best solutions below
4

When you run react-native link, it will link to required platform automatically.
If Module/dependency is required for iOS/Android only then will link to iOS/Android only.
If for both then linking will be for both.
And you can link to a platform manually as well.
2

if react-native < 60
- rename platforms ( iOS or Android) that you don't want to link.
- run
react-native link your-library-js-package-name
. - rename platforms to the original name.
.
react-native >= 60
because the new react-native versions have some auto-linking feature you should tell the react-native CLI to do not link your library:
- create a
react-native.config.js
file in the root of your project. add some config like this
module.exports = { dependencies: { 'your-library-js-package-name': { platforms: { android: null, // assign null to disable autolinking ios: // assign null to disable autolinking or remove the ios key to let do the default linking }, }, }, };
check this for more info docs
You can choose to link libraries for only a certain platform by doing:
For Android:
react-native link (your_library_name_here) --platforms android
For iOS:
react-native link (your_library_name_here) --platforms ios