Intellij Idea IDE安装程序;项目包分离

alen0pnh  于 2023-06-21  发布在  其他
关注(0)|答案(1)|浏览(140)

我正在自学全栈开发,我不确定如何表达这个问题,或者我在这里使用的术语是否正确。对此我深表歉意。
在编写几个教程的过程中,我经常会安装教程所需的包和模块,通常是针对特定的IDE。这通常包括安装特定的软件包版本。
如果一个项目使用软件包x、y、z和版本a、B、c,而另一个项目依赖于不同的软件包和/或版本,如何在IDE中的项目之间隔离这些软件包和版本?如何防止不同项目之间的“包出血”?
换句话说,当我的IDE正在使用包版本12时,我如何防止为包版本10编写和测试代码,因为我已经在过去的某个地方安装了它。
在生产环境中,谁的工作是设置和维护正确的包和版本?

uyhoqukh

uyhoqukh1#

如果一个项目使用软件包x、y、z和版本a、B、c,而另一个项目依赖于不同的软件包和/或版本,如何在IDE中的项目之间隔离这些软件包和版本?如何防止不同项目之间的“包出血”?
它取决于包管理器的设计,而包管理器的设计又取决于编程语言的设计,以及它如何与/加载依赖项链接。

  • 一些包管理器只会将包安装到特定于项目的目录中,例如NPM,然后程序只会在特定于项目的目录中查找,并根据其依赖关系解析策略首先获取它找到的任何版本。这是一种非常简单的方法来获得您所描述的内容,但是如果两个项目都依赖于同一个东西,则可能导致重复安装,这有点浪费磁盘空间。
  • 一些包管理器默认将包安装到一个非项目特定的目录中,并且不做任何事情来根据包版本进行分离(例如:pip)-使其只能在一台机器上安装一个版本的软件包。然而,pip确实可以与Python's virtual environment feature一起工作,它允许您实现类似于上面要点的内容。
  • 一些包管理器会将包安装到一个非项目特定的目录中,将包的版本分开,这样就可以安装多个版本(例如:Maven,PNPM),然后对程序的设置做一些事情,以便程序知道如何找到正确的版本。

因此,基本上,请查阅您的包管理器和编程语言/编程语言的实现文档。
换句话说,当我的IDE正在使用包版本12时,我如何防止为包版本10编写和测试代码,因为我已经在过去的某个地方安装了它。
如果你的IDE是好的,它会(在可能的情况下)注意到一个项目被配置使用的包的版本,然后基于这个给予你智能感知--也许需要一些配置修补。
在生产环境中,谁的工作是设置和维护正确的包和版本?
这取决于项目以及人们希望如何组织他们的角色。一个尺寸不适合所有人。也许是开发人员也许是建筑工程师。可能是个实习生。

相关问题