让npm从Git仓库获取最新的软件包

我的问题类似于这个 。

一个项目依赖于一个驻留在私有托pipe的仓库中的Git模块:

"dependencies": { "mymod": "git+https://mygitserver:8443/scm/od/mymod.git", ... } 

其目的是为了成为一个快照依赖,所以每当任何mymod代码被修改,项目拉下最新的版本。

问题是,我应该使用什么命令将项目更新到最新版本的模块?

我发现唯一的作品是:

 rm -rf node_modules/mymod npm install 

单独运行npm install不会(因为已经运行了一次)没有任何作用,正如@Vishwanath在他的问题中指出的那样,因为模块已经安装了。 npm upgrade是不合适的,因为我也有很多其他模块的依赖,我不想把它们都升级到更新的版本。

我想我可以明确地版本mymod ,然后更新我的本地package.json与新版本,每当它发生变化,但是这将创build一个持续的维护任务。

好像npm有足够的信息来确定什么时候需要升级,因为node_modules/mymod/package.json包含最后一个已知的头版本,它可以和当前的头版本进行比较:

 "gitHead": "b63f0df8ef...", "_resolved": "git+https://mygitserver:8443/scm/od/mymod.git#b63f0df8ef..." 

npm是否具有像这样处理快照依赖的首选方法?

您需要在mymod中更新package.json中的版本,以使npm安装更新后的代码。