首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >升级npm@>=4的npm `prepublish`脚本的最佳实践

升级npm@>=4的npm `prepublish`脚本的最佳实践
EN

Stack Overflow用户
提问于 2017-05-18 10:47:55
回答 2查看 2.8K关注 0票数 20

我从my sample project's根文件夹运行npm install,使用package.json中的脚本构建它。

构建需要几个当前在prepublish脚本中的转换步骤,但是npm version4显示了一个即将发生重大变化的警告,这让我相信新的prepare构建事件脚本更适合未来。

代码语言:javascript
复制
C:\code\antlr4ts-json>npm install
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts will run only for `npm publish`.
npm WARN prepublish-on-install (In npm@4 and previous versions, it also runs for `npm install`.)
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
...

不幸的是,简单地将脚本从prepublish移到prepare会破坏向后兼容性:如果有人使用npm@3__运行npm install,那么prepare中的构建步骤就会被忽略。

升级我的构建时脚本的最佳实践是什么?理想情况下,我希望更新我的package.json,以便npm install可以在任何npm@>=3上工作,但也可以选择生成一个明确的错误消息,指出在使用npm@3运行npm install时需要npm@>=4。

Bakground:我试着包括

代码语言:javascript
复制
"engines": { "npm":  ">=4.0.0" },

多亏了@toomuchdesign (和其他人),我理解了为什么它不能做我想要的事情;engines只检查我的包是作为依赖项安装的,而不是有人从源代码构建它。这事儿可以理解。

我跟踪了这个计划中的更改的背景,直到npm issue #10074,这解释了为什么需要一个突破性的更改。然而,我仍然不清楚如何更好地处理过渡。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44037774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档