当前位置: 首页 > 面试题库 >

卸载代码/模块

欧阳元魁
2023-03-14
问题内容

我很好奇在使用模块后是否有任何好的方法可以卸载模块。在某些情况下,我需要使用引入大量代码的模块,但是很少使用它们(例如作为管理工具),但是我犹豫使用它们,因为在此之后它们可能只会浪费内存,这可能会更好在其他地方使用。是否有任何方法可以卸载它们,无论是显式卸载还是在一段时间不使用它们时允许系统卸载它们?


问题答案:

是的,可以直接访问模块缓存:

var name = require.resolve('moduleName');
delete require.cache[name];

请注意,如果您的代码中包含对您想摆脱的这些模块公开的内容的引用,则不会对其进行清理。

(顺便说一句:在表面之下,require.resolve和分别是核心模块加载程序(即)的require.cache代理,Module._resolveFilenameModule._cache分别Module作为代理require('module')。)



 类似资料:
  • 我在这个stackoverflow问题中使用了以下命令。但它并没有从我的mac上删除VS代码。我仍然看到了。配置与vscode图标相关的文件,当我点击它时,它会打开vscode应用程序。 我对也有同样的问题。如何卸载这些应用程序:(

  • 问题内容: TL / DR: 更新 我已经就此问题与Python开发人员联系,实际上,“在未来五年内”不可能完全卸载模块。(请参阅链接) 请接受,在2.x中,Python确实不支持针对严重,根本,不可克服的技术问题的卸载模块。 在我最近一次寻找应用程序内存泄漏的过程中,我将其范围缩小到模块,即我无法 垃圾收集 已卸载的模块。使用下面列出的 任何 方法卸载模块都会在内存中保留数千个对象。换句话说-我

  • 问题内容: 我已经从源代码安装了python 2.6,后来又以某种方式错误地从包管理器中安装了另一个python 2.6。 我找不到卸载从源代码构建的python的方法,这可能/容易吗? 运行ubuntu 10.04。 问题答案: 您可以使用checkinstall删除Python。这个想法是: 安装checkinstall 使用checkinstall对您的Python安装进行详细介绍 使用删除

  • 我需要在mac上干净地安装VS代码。 我打开终端,取出了来自~。我还删除了Visual Studio代码。应用程序//code>来自//code>。然而,在删除了所有内容并下载了一份新的副本后,我安装并打开了编辑器,编辑器记住了我的上一个项目。对我来说,这意味着我需要删除其他内容,但我找不到。我查看了文档,但找不到有关卸载编辑器的任何信息。 有人知道如何从mac上完全卸载VSCode吗? 按照这些

  • 问题内容: 我有一台运行时间较长的Python服务器,并且希望能够在不重新启动服务器的情况下升级服务。最好的方法是什么? 问题答案: 你可以使用reload内置函数重新加载已导入的模块: 在Python 3中,已移至imp模块。在3.4中,不推荐使用importlib,而在中添加了。当定位到3或更高版本时,在调用reload或导入时参考相应的模块。 我认为这就是你想要的。诸如Django开发服务器

  • 问题内容: 我有一个运行时间较长的Python服务器,并且希望能够在不重新启动服务器的情况下升级服务。最好的方法是什么? 问题答案: 您可以使用reload内置函数(仅适用于Python 3.4+)重新导入已导入的模块: 在Python 3中,已移至模块。在3.4中,imp不推荐使用,而reload在中添加了。当定位到3或更高版本时,在调用reload或导入时参考相应的模块。 我认为这就是您想要的