我确定其他人有此工作流程,所以我在这里一定会遗漏一些东西。
如何开发一个新版本的软件包,将其链接到另一个应用程序中进行测试,然后安装另一个(不相关的)软件包?
我所做的:
git clone git@package-to-update && cd package-to-update
。package-to-update/package.json
的版本更新为2.0.0
。my-app/package.json
以使用package-to-update@2.0.0
。cd package-to-update && npm link && cd my-appp && npm link package-to-update
。my-app
,发现package-to-update@2.0.0
解决了这个问题,参加了一个小型聚会。package-to-update
的上游,创建合并请求,并等待维护者合并我的更改。other-unrelated-package
中需要另一个软件包my-app
。cd my-app && npm install other-unrelated-package
。package-to-update@2.0.0
。这里是您每次npm install
每次运行以下过程的唯一选择吗?
package-to-update
中降级my-app/package.json
。npm install other-package
。npm link package-to-update
。package-to-update
中升级my-app/package.json
”。答案 0 :(得分:0)
我通常只使用npm link
进行开发。如果我要使用本地版本,而不必处理重新链接,则可以通过路径而不是版本来安装它。
npm install /file/path/to/your/module
然后,您在file:
中将得到一个package.json
这样的URL:
"slug": "file:../../slug"
在这种情况下,随后的npm install
将不会搜索注册表。 (因为它将避免将来运行npm install
的注册表,所以这也意味着您需要记住在发布带有补丁的版本时将其更改回注册表!)
我尚未测试,但是此方法可能要求您仅将其视为直接依赖项,而不是另一个依赖项的依赖项。根据您上面的工作流程,情况似乎确实如此,但在此向其他人提及。