react-native link only for one project (Android or iOS)

18.9k Views Asked by At

I want to link only one of my project (Android or iOS) with the npm package. Is there any way to do it?

3

There are 3 best solutions below

1
On BEST ANSWER

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

4
On

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
On

if react-native < 60

  1. rename platforms ( iOS or Android) that you don't want to link.
  2. run react-native link your-library-js-package-name.
  3. 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:

  1. create a react-native.config.js file in the root of your project.
  2. 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