So löschen Sie installierte Bibliotheksformulare reagieren auf native Projekte


92

Ich habe eine Drittanbieter-Bibliothek in meinem Projekt installiert, aber sie funktioniert nicht. Daher möchte ich diese Bibliothek aus meinem Projekt löschen. Wie kann ich das tun?


Ohne wirklich zu wissen, wie Sie diese Drittanbieter-Bibliothek installiert haben, denke ich, dass diese beiden Befehle Ihnen wahrscheinlich helfen werden npm uninstall <package>(normalerweise mit Flag --saveoder --save-dev) undrnpm unlink <package>
Samuli Hakoniemi

Antworten:


166
  1. Wenn es sich um eine Bibliothek handelt, die nur auf Javascript basiert, können Sie einfach npm uninstall --save package_nameoder ausführennpm uninstall --save-dev package_name
  2. Wenn Sie eine Bibliothek mit nativem Inhalt installiert haben, für den eine Verknüpfung erforderlich ist, und diese mit npm verknüpft haben, können Sie Folgendes tun: Führen Sie npm unlink package_namedann Schritt 1 aus
  3. Wenn Sie eine Bibliothek mit nativem Inhalt manuell installiert haben, machen Sie einfach alle Schritte rückgängig, die Sie zum Hinzufügen der Bibliothek unternommen haben. Folgen Sie dann Schritt 1.

notiere rnpm als veraltet


4
Wie kann man die Verknüpfung der Bibliothek mit nur einer Plattform aufheben?
Sameera Chathuranga

@SameeraChathuranga Können Sie die Verknüpfung der Bibliothek auf einer bestimmten Plattform aufheben?
Olanchuy

@SameeraChathuranga Sie müssten es aus der info.plist oder der MainAcitivity.java (möglicherweise MainApplication.java) entfernen, je nachdem von welcher Plattform Sie die Verknüpfung trennen möchten. Wenn es sich um iOS handelt, führen Sie anschließend eine Pod-Installation erneut aus
mlg87

Können Sie hierzu Schritt 1 und Schritt 2 wechseln? Es scheint sinnvoller zu sein, Schritt 2 vor dem Lesen von Schritt 1 zu lesen.
tnaught

Ich denke, die Reihenfolge ist wichtig. Trennen Sie zuerst die Verknüpfung, bevor Sie sie deinstallieren, damit Sie Cannot find module /path/to/module
keinen

97

Ich habe die folgenden Schritte befolgt: -

  1. react-native unlink <lib name> - Mit diesem Befehl wurde die Verknüpfung der Bibliothek von beiden Plattformen aufgehoben.

  2. react-native uninstall <lib name> - Dadurch wurde die Bibliothek von den Knotenmodulen und ihren Abhängigkeiten deinstalliert

  3. Manually removed the library name from package.json - Irgendwie funktionierte der Befehl --save bei mir nicht, um die Bibliotheksdeklaration aus package.json zu entfernen.

Danach habe ich die leere reaktionsnative Bibliothek manuell aus dem Ordner node_modules gelöscht


5
Wie kann man die Verknüpfung der Bibliothek mit nur einer Plattform aufheben?
Sameera Chathuranga

5
Anstatt die Bibliothek manuell aus package.json und dem Ordner node_modules zu entfernen, können Sie sie einfach npm uninstall <lib name>als Schritt 3 verwenden.
Noxxys

15

Wenn Sie die Verknüpfung bereits installierter Pakete in React Native aufheben möchten

  1. $ react-native unlink package_name
  2. $ yarn remove package_name (wenn es npm ist, dann npm deinstallieren - speichern)

Wenn Sie den 2. Schritt vor dem 1. Schritt ausführen, müssen Sie das entsprechende Paket zurück installieren und den 2. Schritt ausführen


13

Ich werde meine Antwort hier veröffentlichen, da dies das erste Ergebnis in der Google-Suche ist

1) react-native unlink <Module Name>

2) npm unlink <Module Name>

3) npm uninstall --save <Module name


4

Von reaktionsnativen --help

deinstallieren [Optionen] native Abhängigkeiten deinstallieren und die Verknüpfung aufheben

Ex: react-native uninstall react-native-vector-icons

Es wird seine Abhängigkeiten deinstallieren und die Verknüpfung aufheben.


0

Sie müssen überprüfen, ob Ihr verknüpftes Projekt in der neuen Version von RN nicht verknüpft werden muss, wenn Sie es verknüpft haben, was zu einem Problem führt. Ich habe das Problem behoben, indem ich die Verknüpfung, die ich verknüpft und erneut ausgeführt habe, manuell aufgehoben habe.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.