如何删除已安装的库表单反应本地项目

我已经在我的项目中安装了一个第三方库,但它不工作,所以我想从我的项目中删除该库, 我该怎么做?

228465 次浏览
  1. 如果它是一个仅基于 javascript 的库,那么您可以只运行 npm uninstall --save package_namenpm uninstall --save-dev package_name
  2. 如果您已经安装了需要链接的本机内容库,并且已经将其链接到 rnpm,那么可以执行: rnpm unlink package_name,然后执行步骤1
  3. 如果您已经手动安装了包含本机内容的库,那么只需撤消首先为添加库而采取的所有步骤。然后执行第一步。

注意 rnpm 已被废弃

I followed the following steps:--

  1. react-native unlink <lib name>——这个命令已经从两个平台解除了库的链接。

  2. react-native uninstall <lib name>——这已经从节点模块及其依赖项卸载了库

  3. Manually removed the library name from package.json——不知为什么—— save 命令在从 package.json 中删除库声明时不起作用。

在此之后,我已经手动删除 空荡荡的反应本机库从节点 _ 模块文件夹

If you want to unlink already installed packages in react native

  1. $ react-native unlink package_name
  2. $ yarn remove package_name(如果是 npm,则 npm 卸载——保存)

如果您在第一步之前执行第二步,您需要安装相关的软件包回来,并执行第二步

我将在这里张贴我的答案,因为它是在谷歌搜索的第一个结果

1) react-native unlink <Module Name>

2) npm unlink <Module Name>

3) npm uninstall --save <Module name

来自 本能反应,救命

uninstall [options] uninstall and unlink native dependencies

react-native uninstall react-native-vector-icons

它将卸载和取消其依赖项的链接。

你必须检查你的链接项目,在新版本的 RN,不需要链接,如果你链接它造成一个问题, I Fixed the problem by unlinked manually the dependency that I linked and re-run.

You can delete installed react native package with this command.

npm uninstall package_name

例如:

npm uninstall react-native-camera

package.json文件中删除包名

删除 package-lock.json文件

然后运行 npm install

or you can run the following command to uninstall any package

Npm 卸载 package _ name

For iOS...

Remove the node package and install the pods.

如果使用 npm: 卸载软件包名称

如果你在使用纱线: 除纱包装名称

然后简单地用以下命令安装吊舱: Npx pod-install

通常 package.json 目录位于项目文件夹的根目录中,因此应该从那里运行这些文件。Npx pod-install 将转到您的 ios 文件夹并运行 pod install。如果不添加/删除本机组件,则不需要运行此步骤。

我认为对于 Android 来说可能是相同的步骤,但是不运行后一个命令,因为 Android 不使用 cocoapods。

简单易行的解决方案。

npm uninstall --save react-native-image-slider-box

All of the top answers are a bit outdated. They do work, but the process could be better. So I'm going to post a more modern and 'normal' way.

Assumptions:

  • 您的项目并没有过于陈旧,这意味着您的项目没有使用本地版本 < 0.60(小于0.60)。这是因为在过去(当您的本地版本 < 0.60时) ,当您想要卸载软件包时,必须手动运行像 react-native unlink这样的命令。这些命令仍然有效,但不再是必要的。
  • 库/包使用自动链接,或者根本不需要链接,因为包不使用本机代码。如果软件包的安装指令不是 要求,你可以运行一个命令来链接软件包(例如 react-native link) ,那么它使用自动链接,或者根本不需要链接。一个软件包可能建议您运行 link 命令,但是如果您的项目的 response-national 是 version > = 0.60,那么他们通常也会说不需要这个命令。现在大多数图书馆都是这样的。如果您想卸载的软件包使用本机代码但不支持自动链接,我会感到惊讶。了解更多关于自动链接的信息。
    • 如果您想卸载的软件包没有使用本机代码,那么上面关于自动链接的段落并不重要。
  • 当然,在您尝试卸载该软件包之前,您应该记住删除该软件包在您的项目中的任何使用。
  • 您已经检查了其他包是否需要将要删除的包作为对等依赖项。在这种情况下,删除该依赖项可能会导致其他包无法工作。

如果您的软件包安装时没有手动编辑本机文件(如 android/settings.gradleios/yourappname/AppDelegate.m等)或任何其他配置(如 mypackage.config.js) ,那么您应该这样做:

  1. 如果使用 npm,运行 npm uninstall <yourpackage>。如果使用纱线,运行 yarn remove <yourpackage>
    • (反应本地使用自动链接解除链接的包,所以这是所有你应该做的’解除链接’。继续读。)
  2. 运行 cd ios && pod install && cd ..
    • 如果您完全确定包是纯粹用 JavaScript/Type 编写的,则可以跳过此步骤。我的观点是无论如何都要运行它,这样你的大脑就不必花费精力去思考/担心这个问题。
  3. That's it. You're good to go. If you're not good to go here, then something is very wrong.

如果您确实需要手动编辑本机文件或任何其他额外配置来安装软件包,那么:

  1. 这是一个好主意,以获得所有的信息,你可以确切地做了当你安装软件包。你能学到的任何额外的上下文都是好的。

    • 您应该查看您的 git 历史记录,以查看您在安装软件包时所做的更改。
    • 最好阅读软件包的 README 或文档,以提醒您可能忘记的其他内容。
      • 除了包中最新的 README 或 docs 之外,尝试从要卸载的版本中读取包中的 README/docs 也是一个好主意。例如,如果您只是从包的主 github 页面读取 README,那么信息可能太新了。
  2. 撤消安装软件包时所做的手动更改。理想情况下,使用 git diff 或 git GUI 程序来帮助您解决这个问题。因为这个过程根据软件包和您实际做了什么而有所不同,所以很难说得更具体一些。

  3. 如果使用 npm,运行 npm uninstall <yourpackage>。如果使用纱线,运行 yarn remove <yourpackage>

    • (反应本地使用自动链接解除链接的包,所以这是所有你应该做的’解除链接’。继续读。)
  4. 运行 cd ios && pod install && cd ..

    • 如果您完全确定包是纯粹用 JavaScript/Type 编写的,则可以跳过此步骤。我的观点是无论如何都要运行它,这样你的大脑就不必花费精力去思考/担心这个问题。
  5. That's it, done. If things are not good at this point, then something is very wrong.

记住,如果你觉得这对你有帮助的话,就给它投上一票,这样它就会更加明显。谢谢!

卸载本地软件包: Npm 卸载 < package _ name > 例如: Npm 卸载 response-本机 webview

卸载全局软件包: npm uninstall -g <package_name> 例如: Npm 卸载-g response-本机-webview