【发布时间】:2021-03-26 23:32:29
【问题描述】:
我为 NPM 设置了 Azure DevOps 工件源。
我按照https://docs.microsoft.com/en-us/azure/devops/artifacts/get-started-npm?view=azure-devops&tabs=windows上的说明进行操作
在下一步中,我想从 Visual Studio 项目中的“node_modules”目录发布包,该项目的包来自公共源。
我想如果我在我的自定义“.npmrc”和“package.json”文件旁边运行“npm publish”,它会从“node_modules”目录发布我的所有库。相反,它发布了我的 VisualStudio 项目,它使用了这些库。它甚至遵循 Git Ignore 规则,不包含“node_modules”文件夹……
发布我所依赖的包的默认方式是什么?
我必须为每个包手动编写脚本吗?
对于需要预构建的软件包,我该怎么办?
在我运行了一个简单的脚本后,几个包失败了。
脚本:
for /d %i in (C:\Path\node_modules\*) do ( cd "%i" & npm publish )
错误:
…
6 warn prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
7 warn prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
8 warn prepublish-on-install See the deprecation note in `npm help scripts` for more information.
…
23 error code ELIFECYCLE
24 error errno 1
25 error xml-name-validator@3.0.0 prepublish: `node scripts/generate-grammar.js < lib/grammar.pegjs > lib/generated-parser.js`
25 error Exit status 1
26 error Failed at the xml-name-validator@3.0.0 prepublish script.
…
我看到这些包都有自己的子包:/
PS:我的 DevOps 服务器和工作站无法直接访问公共网络!
感谢您的帮助!
【问题讨论】: