CN112416390B - 更新npm包的方法、装置、电子设备及可读存储介质 - Google Patents

更新npm包的方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112416390B
CN112416390B CN202011258488.XA CN202011258488A CN112416390B CN 112416390 B CN112416390 B CN 112416390B CN 202011258488 A CN202011258488 A CN 202011258488A CN 112416390 B CN112416390 B CN 112416390B
Authority
CN
China
Prior art keywords
target
npm
version information
version
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011258488.XA
Other languages
English (en)
Other versions
CN112416390A (zh
Inventor
张佳佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN202011258488.XA priority Critical patent/CN112416390B/zh
Publication of CN112416390A publication Critical patent/CN112416390A/zh
Application granted granted Critical
Publication of CN112416390B publication Critical patent/CN112416390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种更新npm包的方法、装置、电子设备及可读存储介质,该方法包括:确定node项目中需进行更新的目标npm包,基于自动检测机制获取目标npm包的版本信息,并获取目标npm包在第二服务器中的最新版本对应的目标内容,根据目标内容,对node项目中的目标npm包执行自动更新命令,其中,目标npm包至少为一个,自动检测机制包括对应于定时检测目标npm包的版本信息的第一检测机制、在调用目标npm包时检测版本信息的第二检测机制和在接收到第二服务器发送的目标npm包更新的提示信息时检测版本信息的第三检测机制中的至少一项。本发明可以提高项目线上稳定性,提供高效、方便的npm包升级方案。

Description

更新npm包的方法、装置、电子设备及可读存储介质
技术领域
本发明涉及软件设计技术领域,尤其涉及一种更新npm包的方法、装置、电子设备及可读存储介质。
背景技术
node是一个基于Chrome V8引擎(Google开源的、高性能的JavaScript引擎,由C++编写,并用在Google开源浏览器Chrome中)的JavaScript(简称JS,一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言)运行环境。node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。
npm是JavaScript世界的包管理工具,并且是Node.js平台的默认包管理工具,通过npm可以安装、共享、分发代码,管理项目依赖关系。
目前,node项目包管理器主要通过项目中package.json文件进行管理,在项目部署前通过包管理工具进行npm包的安装和更新;此时,需要开发人员在代码部署前先进行安装更新,然后再将代码统一部署到服务器中;如果需要对运行的项目进行npm包的升级则需要停掉服务器,重新构建安装新版本的npm包之后再次部署。
由此可见,现有技术中,在业务代码没有变化的时候若需要对运行的项目进行npm包的升级,需要手动安装更新对应的npm包至最新版本,然后进行代码部署,导致服务器需要频繁执行构建部署的动作,影响项目上线的稳定性。
发明内容
本发明实施例提供一种更新npm包的方法、装置、电子设备及可读存储介质,以解决现有技术中在进行npm包的升级时,需要手动安装更新对应npm包至最新版本,然后进行代码部署,导致服务器需要频繁执行构建部署的动作,影响项目上线稳定性的问题。
第一方面,本发明实施例提供一种更新npm包的方法,应用于第一服务器,所述第一服务器运行node项目,该方法包括:
确定所述node项目中的目标npm包;
在所述node项目启动后,基于自动检测机制获取所述目标npm包的版本信息;
在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,所述目标版本为所述第二服务器中的最新版本;
根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令;
其中,所述目标npm包为需进行更新的npm包,且所述目标npm包至少为一个,所述自动检测机制包括第一检测机制、第二检测机制和第三检测机制中的至少一项,所述第一检测机制对应于定时检测所述目标npm包的版本信息,所述第二检测机制对应于在调用所述目标npm包时检测所述目标npm包的版本信息,所述第三检测机制对应于在接收到所述第二服务器发送的所述目标npm包更新的提示信息时检测所述目标npm包的版本信息。
可选的,所述在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,包括:
在获取所述目标npm包的版本信息的情况下,读取所述目标npm包在所述第二服务器中的所述目标版本的版本信息,所述版本信息包括版本号;
在所述目标版本的版本号高于所述node项目中的所述目标npm包对应的版本号的情况下,获取所述目标版本对应的目标内容。
可选的,所述基于自动检测机制获取所述目标npm包的版本信息,包括:
基于所述第一检测机制、所述第二检测机制或者所述第三检测机制,获取所述目标npm包的版本信息;
或者
基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息。
可选的,所述基于所述第一检测机制、所述第二检测机制或者所述第三检测机制,获取所述目标npm包的版本信息,包括:
基于所述第一检测机制,定时检测所确定的至少一个所述目标npm包的版本信息;
或者
基于所述第二检测机制,在调用至少一个所述目标npm包的情况下,检测被调用的至少一个所述目标npm包的版本信息;
或者
基于所述第三检测机制,在接收到所述第二服务器发送的所述提示信息的情况下,检测与所述提示信息中的包名对应的所述目标npm包的版本信息,所述提示信息中包括在所述第二服务器更新的至少一个所述目标npm包的包名。
可选的,所述基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息,包括:
获取所述目标npm包的第一版本信息、第二版本信息和第三版本信息中的至少两种版本信息,所述第一版本信息基于所述第一检测机制获取、所述第二版本信息基于所述第二检测机制获取、所述第三版本信息基于所述第三检测机制获取;
在同一时刻获取所述第一版本信息、所述第二版本信息和所述第三版本信息中的至少两种的情况下,将获取的任意一种版本信息确定为所述目标npm包的版本信息;
在第一时刻获取所述第一版本信息、第二时刻获取所述第二版本信息、第三时刻获取所述第三版本信息的情况下,在所述第一时刻确定所述第一版本信息为所述目标npm包的版本信息、在所述第二时刻确定所述第二版本信息为所述目标npm包的版本信息、在所述第三时刻确定所述第三版本信息为所述目标npm包的版本信息。
可选的,所述根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令,包括:
根据所述目标版本对应的目标内容,将所述目标npm包更新为对应于所述目标版本的第一目标npm包,所述目标内容包括所述目标版本的所述目标npm包的代码信息。
可选的,所述对所述node项目中的所述目标npm包执行自动更新命令的同时,还包括:
更新所述node项目中所述目标npm包关联的配置文件和所述目标npm包对应的缓存信息。
第二方面,本发明实施例提供一种更新npm包的装置,应用于第一服务器,所述第一服务器运行node项目,该装置包括:
确定模块,用于确定所述node项目中的目标npm包;
第一获取模块,用于在所述node项目启动后,基于自动检测机制获取所述目标npm包的版本信息;
第二获取模块,用于在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,所述目标版本为所述第二服务器中的最新版本;
第一更新模块,用于根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令;
其中,所述目标npm包为需进行更新的npm包,且所述目标npm包至少为一个,所述自动检测机制包括第一检测机制、第二检测机制和第三检测机制中的至少一项,所述第一检测机制对应于定时检测所述目标npm包的版本信息,所述第二检测机制对应于在调用所述目标npm包时检测所述目标npm包的版本信息,所述第三检测机制对应于在接收到所述第二服务器发送的所述目标npm包更新的提示信息时检测所述目标npm包的版本信息。
可选的,所述第二获取模块包括:
读取子模块,用于在获取所述目标npm包的版本信息的情况下,读取所述目标npm包在所述第二服务器中的所述目标版本的版本信息,所述版本信息包括版本号;
第一获取子模块,用于在所述目标版本的版本号高于所述node项目中的所述目标npm包对应的版本号的情况下,获取所述目标版本对应的目标内容。
可选的,所述第一获取模块包括:
第二获取子模块,用于基于所述第一检测机制、所述第二检测机制或者所述第三检测机制,获取所述目标npm包的版本信息;
或者
第三获取子模块,用于基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息。
可选的,所述第二获取子模块进一步用于:
基于所述第一检测机制,定时检测所确定的至少一个所述目标npm包的版本信息;
或者
基于所述第二检测机制,在调用至少一个所述目标npm包的情况下,检测被调用的至少一个所述目标npm包的版本信息;
或者
基于所述第三检测机制,在接收到所述第二服务器发送的所述提示信息的情况下,检测与所述提示信息中的包名对应的所述目标npm包的版本信息,所述提示信息中包括在所述第二服务器更新的至少一个所述目标npm包的包名。
可选的,所述第三获取子模块包括:
获取单元,用于获取所述目标npm包的第一版本信息、第二版本信息和第三版本信息中的至少两种版本信息,所述第一版本信息基于所述第一检测机制获取、所述第二版本信息基于所述第二检测机制获取、所述第三版本信息基于所述第三检测机制获取;
第一确定单元,用于在同一时刻获取所述第一版本信息、所述第二版本信息和所述第三版本信息中的至少两种的情况下,将获取的任意一种版本信息确定为所述目标npm包的版本信息;
第二确定单元,用于在第一时刻获取所述第一版本信息、第二时刻获取所述第二版本信息、第三时刻获取所述第三版本信息的情况下,在所述第一时刻确定所述第一版本信息为所述目标npm包的版本信息、在所述第二时刻确定所述第二版本信息为所述目标npm包的版本信息、在所述第三时刻确定所述第三版本信息为所述目标npm包的版本信息。
可选的,所述第一更新模块进一步用于:
根据所述目标版本对应的目标内容,将所述目标npm包更新为对应于所述目标版本的第一目标npm包,所述目标内容包括所述目标版本的所述目标npm包的代码信息。
可选的,该装置还包括:
第二更新模块,用于在所述第一更新模块对所述node项目中的所述目标npm包执行自动更新命令的同时,更新所述node项目中所述目标npm包关联的配置文件和所述目标npm包对应的缓存信息。
第三方面,本发明实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的更新npm包的方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的更新npm包的方法的步骤。
本发明实施例的技术方案,通过自动检测更新机制,更新第一服务器中的node项目中的目标npm包,可以减少在业务代码没有变化的时候对npm包升级时所导致的第一服务器重启手动构建部署的次数,提高修复问题的速度和更新效率,提高项目线上稳定性,得到一种高效、方便的npm包升级方案。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示本发明实施例更新npm包的方法示意图;
图2表示本发明实施例更新npm包的整体实施流程图;
图3表示本发明实施例更新npm包的装置示意图之一;
图4表示本发明实施例更新npm包的装置示意图之二;
图5表示本发明实施例电子设备的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明实施例针对现有技术中在业务代码没有变化的时候若需要对运行的项目进行npm包的升级,需要手动安装更新对应npm包至最新版本,然后进行代码部署,导致服务器需要频繁执行构建部署动作,影响项目上线稳定性的问题,提供了一种更新npm包的方法、装置、电子设备及可读存储介质,可以减少第一服务器在业务代码不更新时的频繁构建部署动作,提高项目线上稳定性,方便高效的进行npm包的升级。
首先针对本发明使用到的一些名词进行解释:
node.js:一种让服务端可以执行JS的技术。
npm包:JS代码编写的解决某个特定功能的库。
npm仓库:一个服务器,里面存储了非常多的npm包。
Scope(域):把包放到scope中,就好比将文件放到文件夹中,所以scope类似文件夹的概念,用于方便的管理npm仓库中的包。
npm:用于安装、发布、更新、管理npm包的工具。
node_modules文件夹:所有下载的npm包,都放在这个文件夹下,其目录结构中,如果一个包没有scope,那么第一层文件夹的名字就是包名;否则第一层文件夹的名称是scope的名称,第二层文件夹的名称才是包名。
下面对本发明实施例提供的应用于第一服务器的更新npm包的方法进行介绍,其中第一服务器上运行node项目,如图1所示,包括:
步骤101、确定所述node项目中的目标npm包。
第一服务器首先针对所运行的node项目筛选出需要更新的npm包,将筛选出的npm包确定为目标npm包,其中所确定的目标npm包的数量至少为一个,且在筛选出目标npm包之后,可以将筛选出的目标npm包的包名存储至特定文件夹中,便于后续根据包名对目标npm包进行查看。第一服务器为部署node项目的服务器,可以实现node项目在第一服务器的运行。
步骤102、在所述node项目启动后,基于自动检测机制获取所述目标npm包的版本信息。
在确定目标npm包之后,在node项目启动的情况下,可以基于自动检测机制获取目标npm包的版本信息,版本信息至少包括版本号,还可以包括版本功能说明和开发者等基本信息。
自动检测机制包括第一检测机制、第二检测机制和第三检测机制中的至少一项,所述第一检测机制对应于定时检测所述目标npm包的版本信息,所述第二检测机制对应于在调用所述目标npm包时检测所述目标npm包的版本信息,所述第三检测机制对应于在接收到所述第二服务器发送的所述目标npm包更新的提示信息时检测所述目标npm包的版本信息。其中,提示信息中包括第二服务器中已更新的目标npm包的包名,可以根据包名对node项目中对应的目标npm包进行版本检测。第二服务器可以为npm服务器,包括多个npm包,第二服务器也可以为私服(如特定企业对应的服务器)。
在基于自动检测机制进行检测获取目标npm包的版本信息时,可以基于第一检测机制、第二检测机制和第三检测机制中的至少一项执行检测。在基于第一检测机制进行检测时,可以针对至少一个目标npm包形成一个队列,对队列中的目标npm包逐一进行检测,实现避免资源占用。在基于第二检测机制进行检测时,若第一服务器调用了一个目标npm包,可以针对该目标npm包进行检测,若第一服务器同时调用了至少两个目标npm包,可以针对至少两个目标npm包确定检测顺序,逐一执行检测。在基于第三检测机制进行检测时,第二服务器同一时刻可进行一个目标npm包的更新,若完成更新后立即发送提示信息,则第一服务器可以根据提示信息检测目标npm包,若第二服务器在完成特定数目的目标npm包的更新后发送提示信息,提示信息中携带更新的多个目标npm包的包名,且多个包名依序排列,则可以根据提示信息中的包名,逐一检测node项目中对应的目标npm包的版本信息。通过针对多个目标npm包进行逐一检测,可以避免不必要的资源占用,其中多个指代两个或者两个以上。
步骤103、在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,所述目标版本为所述第二服务器中的最新版本。
第一服务器在针对目标npm包获取对应的版本信息的情况下,可以针对每一个目标npm包,确定目标npm包在第二服务器中的目标版本所对应的版本号,基于所获取的版本号与第一服务器本地的目标npm包的版本号,确定是否需要获取目标版本对应的目标内容,在确定需要获取的情况下,可以自动获取或者通过向第二服务器发送对应的请求来获取。
步骤104、根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令。
在获取目标npm包在第二服务器中的目标版本对应的目标内容之后,可以根据所获取的目标内容,对第一服务器上运行的node项目中的目标npm包执行自动更新命令,以使得第一服务器上运行的node项目中的目标npm包升级到最新版本。
本发明上述实施过程,通过自动检测更新机制,更新第一服务器中的node项目中的目标npm包,可以减少在业务代码没有变化的时候对npm包升级时所导致的第一服务器重启手动构建部署的次数,提高修复问题的速度和更新效率,提高项目线上稳定性,得到一种高效、方便的npm包升级方案。
在本发明一可选实施例中,所述在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,包括:
在获取所述目标npm包的版本信息的情况下,读取所述目标npm包在所述第二服务器中的所述目标版本的版本信息,所述版本信息包括版本号;
在所述目标版本的版本号高于所述node项目中的所述目标npm包对应的版本号的情况下,获取所述目标版本对应的目标内容。
在获取目标npm包在第二服务器中的目标版本对应的目标内容时,可以在获取目标npm包的版本信息的情况下,通过子进程命令读取目标npm包在第二服务器中所对应的最新版本的版本信息,其中版本信息中包括版本号、版本功能说明和开发者等基本信息。在读取目标npm包在第二服务器中的目标版本(最新版本)的版本号后,可以检测目标版本的版本号是否高于node项目中的目标npm包对应的版本号,若目标版本的版本号高于node项目中的目标npm包对应的版本号,则可以自动获取目标npm包在第二服务器中的目标版本对应的目标内容,也可以向第二服务器发送请求,接收第二服务器同步的目标版本的目标npm包对应的目标内容。
例如,第一服务器针对目标npm包(npm包A)获取对应的版本号为3.0,然后确定npm包A在第二服务器中的最新版本所对应的版本号4.0,由于第二服务器中npm包A的最新版本所对应的版本号高于第一服务器中的npm包A对应的版本号,因此可以自动获取或者通过发送请求获取第二服务器中npm包A的最新版本对应的目标内容。
本发明上述实施过程,可以基于目标npm包的版本号进行比对确定是否对第一服务器中的目标npm包进行更新,在确定需要对第一服务器中的目标npm包进行更新时,获取第二服务器中的目标版本的目标npm包对应的目标内容,基于所获取的目标内容进行第一服务器中目标npm包的更新。
在本发明一可选实施例中,所述基于自动检测机制获取所述目标npm包的版本信息,包括:
基于所述第一检测机制、所述第二检测机制或者所述第三检测机制,获取所述目标npm包的版本信息;
或者
基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息。
在基于自动检测机制获取目标npm包的版本信息时,可以基于第一检测机制进行检测,也可以基于第二检测机制进行检测,还可以基于第三检测机制进行检测,即可以采用第一检测机制、第二检测机制和第三检测机制中的任意一种检测机制获取目标npm包的版本信息。
在基于自动检测机制获取目标npm包的版本信息时,可以基于组合检测机制进行检测,组合检测机制包括两种或者三种检测机制。针对包括两种检测机制的情况,可以基于第一检测机制和第二检测机制进行检测、也可以基于第一检测机制和第三检测机制进行检测、还可以基于第二检测机制和第三检测机制进行检测。针对包括三种检测机制的情况,可以基于第一检测机制、第二检测机制以及第三检测机制进行检测。
上述实施过程,通过三种检测机制中的任意一种检测机制或者组合检测机制获取目标npm包的版本信息,可以丰富检测方式,提供多种选择,便于基于实际情况和偏好选择对应的机制,以获取目标npm包的版本信息。
在本发明一可选实施例中,所述基于所述第一检测机制、所述第二检测机制或者所述第三检测机制,获取所述目标npm包的版本信息,包括:
基于所述第一检测机制,定时检测所确定的至少一个所述目标npm包的版本信息;
或者
基于所述第二检测机制,在调用至少一个所述目标npm包的情况下,检测被调用的至少一个所述目标npm包的版本信息;
或者
基于所述第三检测机制,在接收到所述第二服务器发送的所述提示信息的情况下,检测与所述提示信息中的包名对应的所述目标npm包的版本信息,所述提示信息中包括在所述第二服务器更新的至少一个所述目标npm包的包名。
在本实施例中,在node项目中筛选出需要更新的目标npm包之后,可以生成包括目标npm包的包名的目标文件。在基于第一检测机制进行自动检测时,可以基于目标文件中的包名来确定至少一个目标npm包,然后定时对至少一个目标npm包进行检测,读取目标npm包的版本信息。此时,可以针对至少一个目标npm包设定相同的检测周期,也可以针对每一个目标npm包分别设定一个检测周期,还可以针对至少两个目标npm包进行分组,针对每一分组设定一个检测周期。如,针对至少一个目标npm包设定检测周期为10分钟,则每隔10分钟对至少一个目标npm包进行版本信息检测,获取对应的版本信息,在执行检测时,可以按照预设顺序逐一进行版本检测。或者,可以针对每一个目标npm包,分别设定一个检测周期,如目标npm包1对应的检测周期为10分钟,目标npm包2对应的检测周期为20分钟,则针对目标npm包1每隔10分钟进行一次版本信息检测,获取对应的版本信息,针对目标npm包2每隔20分钟进行一次版本信息检测,获取对应的版本信息。或者,可以针对至少两个目标npm包进行分组,得到至少两个分组,在获取至少两个分组之后,可针对每一分组设置对应的检测周期。以将至少两个目标npm包划分为两个分组为例进行说明,如针对第一分组设置对应的检测周期为5分钟,针对第二分组设置对应的检测周期为15分钟,每隔5分钟对第一分组内的目标npm包进行一次版本信息检测,获取对应的版本信息,每隔15分钟对第二分组内的目标npm包进行一次版本信息检测,获取对应的版本信息。在针对每一个分组进行检测时,可以按照分组内目标npm包对应的排序逐一检测。
在基于第二检测机制进行自动检测时,需要监测目标npm包被调用的触发条件,在监测到触发条件时,可以针对被调用的至少一个目标npm包,进行版本信息的检测,以获取对应的版本信息。此时可以基于目标文件确定目标npm包,并监测目标npm包被调用的触发条件。其中,在多进程模式下,第一服务器可同时调用至少两个目标npm包,此时可以针对至少两个目标npm包分别进行版本信息检测。
在基于第三检测机制进行自动检测时,可以监测是否接收到第二服务器发送的目标npm包更新的提示信息,在接收到提示信息的情况下,可以根据提示信息对node项目中的目标npm包进行版本信息检测。具体可以为根据提示信息中的包名,在node项目中确定对应的目标npm包,并针对确定的目标npm包进行版本检测,提示信息中的包名为第二服务器中已更新的目标npm包对应的包名。
其中,为了保证第二服务器的正常运行,第二服务器在更新目标npm包时,同一时刻可对一个目标npm包进行更新。若第二服务器完成更新后立即发送提示信息,则第一服务器需要分别检测目标npm包,若第二服务器在完成特定数目的目标npm包的更新后发送提示信息,提示信息中携带更新的多个目标npm包的包名,则可以根据提示信息中包名的排序逐一检测node项目中对应的目标npm包。
上述过程,通过针对两个或者多个目标npm包确定检测顺序,并进行逐一检测,可以避免不必要的资源占用。
上述实施过程,可以基于定时检测、触发检测或者依据提示信息检测,获取目标npm包的版本信息,实现通过自动检测更新机制,获取目标npm包的版本信息,根据版本比对更新第一服务器中的node项目中的目标npm包,可以提供高效、方便的npm包升级方案。
在本发明一可选实施例中,所述基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息,包括:
获取所述目标npm包的第一版本信息、第二版本信息和第三版本信息中的至少两种版本信息,所述第一版本信息基于所述第一检测机制获取、所述第二版本信息基于所述第二检测机制获取、所述第三版本信息基于所述第三检测机制获取;
在同一时刻获取所述第一版本信息、所述第二版本信息和所述第三版本信息中的至少两种的情况下,将获取的任意一种版本信息确定为所述目标npm包的版本信息;
在第一时刻获取所述第一版本信息、第二时刻获取所述第二版本信息、第三时刻获取所述第三版本信息的情况下,在所述第一时刻确定所述第一版本信息为所述目标npm包的版本信息、在所述第二时刻确定所述第二版本信息为所述目标npm包的版本信息、在所述第三时刻确定所述第三版本信息为所述目标npm包的版本信息。
在本实施例中,基于第一检测机制获取的版本信息为第一版本信息,针对一个目标npm包而言,可以对应于一个、两个或者两个以上的第一版本信息;基于第二检测机制获取的版本信息为第二版本信息,针对一个目标npm包而言,可以对应于一个、两个或者两个以上的第二版本信息;基于第三检测机制获取的版本信息为第三版本信息,针对一个目标npm包而言,可以对应于一个、两个或者两个以上的第三版本信息。
在基于两种检测机制进行检测时,可以获取第一版本信息和第二版本信息,也可以获取第一版本信息和第三版本信息,还可以获取第二版本信息和第三版本信息。其中,同一时刻所对应的第一版本信息、第二版本信息和第三版本信息均相同。
针对一个目标npm包而言,若同一时刻获取了第一版本信息和第二版本信息,则可以将第一版本信息和第二版本信息中的任意一个确定为目标npm包的版本信息。若第一时刻获取了第一版本信息、第二时刻获取了第二版本信息,则可以在第一时刻确定第一版本信息为目标npm包的版本信息、在第二时刻确定第二版本信息为目标npm包的版本信息。
例如,在10点整时通过第一检测机制获取了目标npm包(npm包A)的第一版本信息,同时在10点整时第一服务器调用npm包A获取了npm包A的第二版本信息,则可以将第一版本信息或者第二版本信息确定为目标npm包的版本信息。或者,在10点整时通过第一检测机制获取了npm包A的第一版本信息,在10点30分时由于第一服务器调用npm包A,获取了npm包A的第二版本信息,则可以在10点整确定第一版本信息为目标npm包的版本信息,在10点30分确定第二版本信息为目标npm包的版本信息。
针对一个目标npm包而言,若同一时刻获取了第一版本信息和第三版本信息,则可以将第一版本信息和第三版本信息中的任意一个确定为目标npm包的版本信息。若第一时刻获取了第一版本信息、第三时刻获取了第三版本信息,则可以在第一时刻确定第一版本信息为目标npm包的版本信息、在第三时刻确定第三版本信息为目标npm包的版本信息。
例如,在10点整时通过第一检测机制获取了目标npm包(npm包A)的第一版本信息,同时在10点整时接收到第二服务器发送的npm包A更新的提示信息并依据提示信息获取了npm包A的第三版本信息,则可以将第一版本信息或者第三版本信息确定为目标npm包的版本信息。或者,在10点整时通过第一检测机制获取了npm包A的第一版本信息,在10点40分时根据提示信息获取了npm包A的第三版本信息,则可以在10点整确定第一版本信息为npm包A的版本信息,在10点40分确定第三版本信息为npm包A的版本信息。
针对一个目标npm包而言,若同一时刻获取了第二版本信息和第三版本信息,则可以将第二版本信息和第三版本信息中的任意一个确定为目标npm包的版本信息。若第二时刻获取了第二版本信息、第三时刻获取了第三版本信息,则可以在第二时刻确定第二版本信息为目标npm包的版本信息、在第三时刻确定第三版本信息为目标npm包的版本信息。
例如,在10点整时第一服务器调用npm包A获取了目标npm包(npm包A)的第二版本信息,同时在10点整时接收到第二服务器发送的npm包A更新的提示信息并依据提示信息获取了npm包A的第三版本信息,则可以将第二版本信息或者第三版本信息确定为目标npm包的版本信息。或者,在10点30分时第一服务器调用npm包A获取了npm包A的第二版本信息,在10点40分时根据提示信息获取了目标npm包的第三版本信息,则可以在10点30分确定第二版本信息为目标npm包的版本信息,在10点40分整确定第三版本信息为目标npm包的版本信息。
在基于三种检测机制进行检测时,可以获取第一版本信息、第二版本信息和第三版本信息。针对一个目标npm包而言,若同一时刻获取了第一版本信息、第二版本信息和第三版本信息,由于同一时刻所对应的版本信息相同,则可以将第一版本信息、第二版本信息和第三版本信息中的任意一个版本信息确定为目标npm包的版本信息。若在第一时刻获取了第一版本信息、第二时刻获取了第二版本信息、第三时刻获取了第三版本信息,则可以在第一时刻确定第一版本信息为目标npm包的版本信息、在第二时刻确定第二版本信息为目标npm包的版本信息、在第三时刻确定第三版本信息为目标npm包的版本信息。
例如,在10点整时通过第一检测机制获取了目标npm包(npm包A)的第一版本信息,在10点整时第一服务器调用npm包A获取了npm包A的第二版本信息,同时在10点整时接收到第二服务器发送的npm包A更新的提示信息并依据提示信息获取了npm包A的第三版本信息,则可以将第一版本信息、第二版本信息或者第三版本信息确定为目标npm包的版本信息。或者在10点整时通过第一检测机制获取了npm包A的第一版本信息,在10点30分时由于第一服务器调用npm包A,获取了npm包A的第二版本信息,在10点40分时根据提示信息获取了目标npm包的第三版本信息,则可以在10点整确定第一版本信息为目标npm包的版本信息,在10点30分确定第二版本信息为目标npm包的版本信息,在10点40分确定第三版本信息为目标npm包的版本信息。
上述实施过程,可以根据第一版本信息、第二版本信息和第三版本信息中的至少两种版本信息,确定目标npm包的版本信息,丰富了目标npm包的版本信息的确定方式,且可以以较高的频率获取版本信息,保证版本更新频率。
在本发明一可选实施例中,所述根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令,包括:
根据所述目标版本对应的目标内容,将所述目标npm包更新为对应于所述目标版本的第一目标npm包,所述目标内容包括所述目标版本的所述目标npm包的代码信息。
在获取目标npm包的版本信息的情况下,可以获取目标npm包在第二服务器中的目标版本对应的目标内容,这里的目标内容包括目标版本的目标npm包所对应的代码信息。在根据目标版本对应的目标内容,对node项目中的目标npm包执行自动更新命令时,可以根据目标版本的目标npm包所对应的代码信息,将node项目中的目标npm包更新为对应于目标版本的第一目标npm包。其中,在将node项目中的目标npm包更新为第一目标npm包之后,可以实现第一目标npm包覆盖node_modules文件夹中的原目标npm包对应的包文件夹。
需要说明的是,在进行目标npm包的更新时,可以按照特定顺序逐一对多个目标npm包执行自动更新。
下面针对对多个目标npm包进行更新的情况进行介绍。在基于定时检测逐一检测多个目标npm包的版本信息之后,可以针对多个目标npm包,按照预设顺序依次获取目标内容,在针对一个目标npm包获取目标内容之后执行更新流程,实现依次对目标npm包进行更新,保证同一时刻仅对一个目标npm包进行更新。
在第一服务器同时调用多个目标npm包时,可以针对被调用的多个目标npm包形成一个队列,针对队列中的目标npm包的排序,逐一获取版本信息之后,可以根据队列中目标npm包的排序,依次获取目标内容并执行更新流程。
在第二服务器逐一对多个目标npm包进行更新发送包括多个包名的提示信息后,可以根据提示信息中包名的排序,依次对node项目中的目标npm包进行版本检测,然后依序获取目标内容执行更新流程。上述逐一检测及更新的处理方式,可以避免不必要的资源占用。
上述实施过程,通过依据目标版本对应的目标内容,对node项目中的目标npm包进行自动更新,可以提高修复问题的速度以及更新效率,保证项目的正常运行。
在本发明一可选实施例中,所述对所述node项目中的所述目标npm包执行自动更新命令的同时,还包括:
更新所述node项目中所述目标npm包关联的配置文件和所述目标npm包对应的缓存信息。
在对node项目中的目标npm包执行自动更新命令的同时,可以并行更新node项目中目标npm包关联的配置文件和目标npm包对应的缓存信息,以实现自动更新与目标npm包关联的数据信息,保证信息更新的一致性。
其中,在完成目标npm包以及关联的数据信息的更新之后,可调用目标npm包来执行自定义构建脚本命令。
下面对本发明的整体实施流程进行介绍,如图2所示,包括:
步骤201、确定node项目中的目标npm包。
步骤202、在node项目启动后,基于自动检测机制获取node项目中目标npm包的版本信息。
步骤203、读取目标npm包在第二服务器中的最新版本所对应的版本信息,其中版本信息包括版本号。
步骤204、检测第二服务器中的最新版本的版本号是否高于node项目中的目标npm包对应的版本号。在第二服务器中的最新版本的版本号高于node项目中的目标npm包对应的版本号的情况下,执行步骤205,否则执行步骤202。
步骤205、获取目标npm包在第二服务器中的最新版本对应的目标内容。
步骤206、根据最新版本对应的目标内容对node项目中的目标npm包执行自动更新命令。
步骤207、在更新node项目中的目标npm包时,更新node项目中目标npm包关联的配置文件和目标npm包对应的缓存信息。
步骤208、若存在同构项目需要执行文件编译,则调用目标npm包来执行自定义构建脚本命令。
上述实施流程,可以基于自动检测更新机制,获取目标npm包的版本信息,根据所获取的版本信息与第二服务器中目标npm包对应的最新版本信息进行比对,来更新目标npm包,且可以实现更新目标npm包关联的数据信息,并基于目标npm包来执行自定义构建脚本命令,以实现目标npm包在项目中的应用。
以上为本发明提供的更新npm包的方法实施例,通过确定node项目中的目标npm包,基于自动检测机制获取目标npm包的版本信息,并获取目标npm包在第二服务器中的目标版本对应的目标内容,根据目标内容,对node项目中的目标npm包执行自动更新命令,可以实现基于自动检测和版本比对自动更新目标npm包的代码,得到一种简便快捷的包升级方案,减少服务器重启手动构建部署的次数,提高修复问题的速度和更新效率,提高项目线上稳定性,且可以同步更新目标npm包关联的数据信息,基于目标npm包来执行自定义构建脚本命令,以扩展目标npm包的应用。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例提供一种更新npm包的装置,应用于第一服务器,所述第一服务器运行node项目,如图3所示,该装置包括:
确定模块301,用于确定所述node项目中的目标npm包;
第一获取模块302,用于在所述node项目启动后,基于自动检测机制获取所述目标npm包的版本信息;
第二获取模块303,用于在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,所述目标版本为所述第二服务器中的最新版本;
第一更新模块304,用于根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令;
其中,所述目标npm包为需进行更新的npm包,且所述目标npm包至少为一个,所述自动检测机制包括第一检测机制、第二检测机制和第三检测机制中的至少一项,所述第一检测机制对应于定时检测所述目标npm包的版本信息,所述第二检测机制对应于在调用所述目标npm包时检测所述目标npm包的版本信息,所述第三检测机制对应于在接收到所述第二服务器发送的所述目标npm包更新的提示信息时检测所述目标npm包的版本信息。
如图4所示,可选的,所述第二获取模块303包括:
读取子模块3031,用于在获取所述目标npm包的版本信息的情况下,读取所述目标npm包在所述第二服务器中的所述目标版本的版本信息,所述版本信息包括版本号;
第一获取子模块3032,用于在所述目标版本的版本号高于所述node项目中的所述目标npm包对应的版本号的情况下,获取所述目标版本对应的目标内容。
可选的,所述第一获取模块302包括:
第二获取子模块3021,用于基于所述第一检测机制、所述第二检测机制或者所述第三检测机制,获取所述目标npm包的版本信息;
或者
第三获取子模块3022,用于基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息。
可选的,所述第二获取子模块3021进一步用于:
基于所述第一检测机制,定时检测所确定的至少一个所述目标npm包的版本信息;
或者
基于所述第二检测机制,在调用至少一个所述目标npm包的情况下,检测被调用的至少一个所述目标npm包的版本信息;
或者
基于所述第三检测机制,在接收到所述第二服务器发送的所述提示信息的情况下,检测与所述提示信息中的包名对应的所述目标npm包的版本信息,所述提示信息中包括在所述第二服务器更新的至少一个所述目标npm包的包名。
可选的,所述第三获取子模块3022包括:
获取单元30221,用于获取所述目标npm包的第一版本信息、第二版本信息和第三版本信息中的至少两种版本信息,所述第一版本信息基于所述第一检测机制获取、所述第二版本信息基于所述第二检测机制获取、所述第三版本信息基于所述第三检测机制获取;
第一确定单元30222,用于在同一时刻获取所述第一版本信息、所述第二版本信息和所述第三版本信息中的至少两种的情况下,将获取的任意一种版本信息确定为所述目标npm包的版本信息;
第二确定单元30223,用于在第一时刻获取所述第一版本信息、第二时刻获取所述第二版本信息、第三时刻获取所述第三版本信息的情况下,在所述第一时刻确定所述第一版本信息为所述目标npm包的版本信息、在所述第二时刻确定所述第二版本信息为所述目标npm包的版本信息、在所述第三时刻确定所述第三版本信息为所述目标npm包的版本信息。
可选的,所述第一更新模块304进一步用于:
根据所述目标版本对应的目标内容,将所述目标npm包更新为对应于所述目标版本的第一目标npm包,所述目标内容包括所述目标版本的所述目标npm包的代码信息。
可选的,该装置还包括:
第二更新模块305,用于在所述第一更新模块304对所述node项目中的所述目标npm包执行自动更新命令的同时,更新所述node项目中所述目标npm包关联的配置文件和所述目标npm包对应的缓存信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述更新npm包的方法中的步骤。
举例如下,图5示出了一种电子设备的实体结构示意图。
如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:确定所述node项目中的目标npm包;在所述node项目启动后,基于自动检测机制获取所述目标npm包的版本信息;在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,所述目标版本为所述第二服务器中的最新版本;根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令;其中,所述目标npm包为需进行更新的npm包,且所述目标npm包至少为一个,所述自动检测机制包括第一检测机制、第二检测机制和第三检测机制中的至少一项,所述第一检测机制对应于定时检测所述目标npm包的版本信息,所述第二检测机制对应于在调用所述目标npm包时检测所述目标npm包的版本信息,所述第三检测机制对应于在接收到所述第二服务器发送的所述目标npm包更新的提示信息时检测所述目标npm包的版本信息。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的更新npm包的方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种更新npm包的方法,应用于第一服务器,所述第一服务器运行node项目,其特征在于,包括:
确定所述node项目中的目标npm包;
在所述node项目启动后,基于自动检测机制获取所述目标npm包的版本信息;
在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,所述目标版本为所述第二服务器中的最新版本;
根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令;
其中,所述目标npm包为需进行更新的npm包,且所述目标npm包至少为一个,所述自动检测机制包括第一检测机制、第二检测机制和第三检测机制中的至少一项,所述第一检测机制对应于定时检测所述目标npm包的版本信息,所述第二检测机制对应于在调用所述目标npm包时检测所述目标npm包的版本信息,所述第三检测机制对应于在接收到所述第二服务器发送的所述目标npm包更新的提示信息时检测所述目标npm包的版本信息。
2.根据权利要求1所述的更新npm包的方法,其特征在于,所述在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,包括:
在获取所述目标npm包的版本信息的情况下,读取所述目标npm包在所述第二服务器中的所述目标版本的版本信息,所述版本信息包括版本号;
在所述目标版本的版本号高于所述node项目中的所述目标npm包对应的版本号的情况下,获取所述目标版本对应的目标内容。
3.根据权利要求1所述的更新npm包的方法,其特征在于,所述基于自动检测机制获取所述目标npm包的版本信息,包括:
基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息。
4.根据权利要求3所述的更新npm包的方法,其特征在于,所述基于所述第一检测机制、所述第二检测机制和所述第三检测机制中的至少两种检测机制,获取所述目标npm包的版本信息,包括:
获取所述目标npm包的第一版本信息、第二版本信息和第三版本信息中的至少两种版本信息,所述第一版本信息基于所述第一检测机制获取、所述第二版本信息基于所述第二检测机制获取、所述第三版本信息基于所述第三检测机制获取;
在同一时刻获取所述第一版本信息、所述第二版本信息和所述第三版本信息中的至少两种的情况下,将获取的任意一种版本信息确定为所述目标npm包的版本信息;
在第一时刻获取所述第一版本信息,且第二时刻获取所述第二版本信息,且第三时刻获取所述第三版本信息的情况下,在所述第一时刻确定所述第一版本信息为所述目标npm包的版本信息,且在所述第二时刻确定所述第二版本信息为所述目标npm包的版本信息,且在所述第三时刻确定所述第三版本信息为所述目标npm包的版本信息。
5.根据权利要求1所述的更新npm包的方法,其特征在于,所述根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令,包括:
根据所述目标版本对应的目标内容,将所述目标npm包更新为对应于所述目标版本的第一目标npm包,所述目标内容包括所述目标版本的所述目标npm包的代码信息。
6.根据权利要求1所述的更新npm包的方法,其特征在于,所述对所述node项目中的所述目标npm包执行自动更新命令的同时,还包括:
更新所述node项目中所述目标npm包关联的配置文件和所述目标npm包对应的缓存信息。
7.一种更新npm包的装置,应用于第一服务器,所述第一服务器运行node项目,其特征在于,包括:
确定模块,用于确定所述node项目中的目标npm包;
第一获取模块,用于在所述node项目启动后,基于自动检测机制获取所述目标npm包的版本信息;
第二获取模块,用于在获取所述目标npm包的版本信息的情况下,获取所述目标npm包在第二服务器中的目标版本对应的目标内容,所述目标版本为所述第二服务器中的最新版本;
第一更新模块,用于根据所述目标版本对应的目标内容,对所述node项目中的所述目标npm包执行自动更新命令;
其中,所述目标npm包为需进行更新的npm包,且所述目标npm包至少为一个,所述自动检测机制包括第一检测机制、第二检测机制和第三检测机制中的至少一项,所述第一检测机制对应于定时检测所述目标npm包的版本信息,所述第二检测机制对应于在调用所述目标npm包时检测所述目标npm包的版本信息,所述第三检测机制对应于在接收到所述第二服务器发送的所述目标npm包更新的提示信息时检测所述目标npm包的版本信息。
8.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的更新npm包的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的更新npm包的方法的步骤。
CN202011258488.XA 2020-11-11 2020-11-11 更新npm包的方法、装置、电子设备及可读存储介质 Active CN112416390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011258488.XA CN112416390B (zh) 2020-11-11 2020-11-11 更新npm包的方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011258488.XA CN112416390B (zh) 2020-11-11 2020-11-11 更新npm包的方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112416390A CN112416390A (zh) 2021-02-26
CN112416390B true CN112416390B (zh) 2022-01-04

Family

ID=74781287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011258488.XA Active CN112416390B (zh) 2020-11-11 2020-11-11 更新npm包的方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112416390B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297647A (zh) * 2019-05-29 2019-10-01 福建天泉教育科技有限公司 一种前端工程更新npm包的方法及终端
CN111522577A (zh) * 2020-04-13 2020-08-11 京东数字科技控股有限公司 一种依赖包版本管理方法、装置、设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297647A (zh) * 2019-05-29 2019-10-01 福建天泉教育科技有限公司 一种前端工程更新npm包的方法及终端
CN111522577A (zh) * 2020-04-13 2020-08-11 京东数字科技控股有限公司 一种依赖包版本管理方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
项目中nodejs包高效升级插件npm-check-updates;佚名;《https://www.cnblogs.com/xfcao/p/9436012.html》;20180807;第1-3页 *

Also Published As

Publication number Publication date
CN112416390A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN109814879B (zh) 自动化ci/cd项目部署方法、存储介质
US8495619B2 (en) Method and system for pre-deployment conflict checking
US9928059B1 (en) Automated deployment of a multi-version application in a network-based computing environment
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
JP2007128522A (ja) システム機能をソフトウェア・パッケージ管理システム内のソフトウェア・パッケージとして表すシステムおよび方法
US10305731B2 (en) System and method for provisioning cloud services across heterogeneous environments using partitioned provisioning instructions stored on a configuration management server
US20160328227A1 (en) Dynamically Applying A Software Patch To A Computer Program
US20100312879A1 (en) Plug-in provisioning integration in a clustered environment
CN110874263B (zh) docker容器实例监控方法及装置
CN112860282A (zh) 集群插件的升级方法、装置和服务器
CN114968406B (zh) 一种插件管理方法、装置、电子设备及存储介质
CN110750286B (zh) OTA升级Mbn的管理方法、装置、系统、设备和介质
CN111831567A (zh) 应用的测试环境配置方法、装置、系统和介质
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
CN114546588A (zh) 任务的部署方法、装置、存储介质及电子装置
CN112860251A (zh) 一种网站前端构建的方法与系统
CN112416390B (zh) 更新npm包的方法、装置、电子设备及可读存储介质
CN112256989A (zh) 基于离线包的页面加载方法、装置、终端设备及存储介质
CN104111862A (zh) 云计算平台中获取虚拟机ip地址方法与系统
CN107885574B (zh) 一种虚拟机的部署方法、业务节点、控制装置及控制节点
CN111949290B (zh) 一种热补丁管理方法、装置、电子设备及存储介质
JP5387083B2 (ja) ジョブ管理システムおよび方法
CN115129348A (zh) 应用程序的资源更新方法、装置、设备及可读存储介质
CN114721781A (zh) 一种微服务部署方法、装置、计算机设备及存储介质
CN112559131A (zh) 更新容器镜像的方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant