我不知道如何更新从git存储库安装的软件包。
说我在git+ssh://git@gitlab.example.com:project/my-package.git
有一个软件包,它已经安装了。
现在,如果我:
然后没有任何更新。
我认为version
字段(来自my-package的相关package.json
)可能会引起问题,因此我将其删除并重新安装了该软件包。不幸的是,它没有帮助,该软件包仍未更新。
有什么想法吗?
答案 0 :(得分:1)
好吧,伙计们。令人惊讶的是,开箱即用似乎不太可能。
但是有一种解决方法。感谢@RobC为我指出一些旧问题(尚未解决):https://github.com/npm/npm/issues/1727
答案在最后一条评论中:
https://github.com/npm/npm/issues/1727#issuecomment-354124625
基本上,要更新一个git软件包,您必须直接使用以下内容重新安装:npm install package-name
。
示例。假设您已经安装了软件包并将其添加到如下所示的依赖项中:
{
"dependencies": {
"my-package": "git+ssh://git@gitlab.my.com:prj/my-package.git"
}
}
现在,要在发布npm i
时对其进行更新,您要做的就是创建一个postinstall
脚本来触发npm i my-package
:
{
"dependencies": {
"my-package": "git+ssh://git@gitlab.my.com:prj/my-package.git"
},
"scripts": {
"postinstall": "npm update && npm i my-package"
}
}
现在npm i
将花费更多时间,因为它将运行两次安装。但这就是我们现在所拥有的。