npm install from tfs feed(在构建过程中)给出错误:无法验证
Posted
技术标签:
【中文标题】npm install from tfs feed(在构建过程中)给出错误:无法验证【英文标题】:npm install from tfs feed (on build process) give error: Unable to authenticate 【发布时间】:2019-11-11 11:02:08 【问题描述】:我们有自己的 npm 包和一个使用它的项目, 我想将它发布到 tfs 提要 - 存储库并从那里安装它,而不是从物理文件中安装。
我从我的开发机器将包发布到提要, 我更改了使用它的项目中的引用。
整个过程在我的机器上运行良好,但是当我尝试在 tfs 的构建过程中使用包时 - 它失败并出现错误:
无法进行身份验证,您的身份验证令牌似乎无效。
我在项目级别创建了带有注册表地址的.npmrc
文件,并在用户目录上创建了另一个带有凭据的文件,我在 TFS 机器上做了同样的事情。
什么会导致 npm 安装(来自我的提要)无法在 tfs 机器上运行?
编辑: 当我在用户级 .npmrc 文件的注册表中添加前缀 @my 时 - 像这样:
@my:registry=https://my-feed-address
错误变为: "我的包没有可用的有效版本"
【问题讨论】:
构建代理与用户一起运行,在提要中授予该用户权限。 @ShaykiAbramczyk,你的意思是饲料设置->权限吗?如果是,则此用户具有所有者权限。 你能分享你的构建管道吗? @ShaykiAbramczyk,我认为这不是重点,因为即使我在 tfs 服务器中运行 npm install 命令 - 在相关 's' 文件夹中的项目文件夹中 - 我也会得到相同的行为. + 我编辑了我的问题。 TFS 是哪个版本的?你在使用 npm install 任务吗?它有一个身份验证部分,您可以指向您的 .npmrc 文件。还有一个你可能想先运行的 npm authenticate 任务。 【参考方案1】:-
在机器上安装这个:
npm install -g vsts-npm-auth
运行这个(在 npmrc 文件所在的目录中):
vsts-npm-auth -config .npmrc
【讨论】:
我遇到了同样的问题,但这在我的情况下解决了。在每次还原之前的构建管道中,我都会执行此 vsts-npm-auth -config .npmrc。它直接在构建机器中工作(没有构建过程)?你试过了吗?【参考方案2】:在您的项目文件夹中创建一个文件.npmrc
并添加以下内容
registry=Your URL
always-auth=true
在命令提示符下运行这两个命令
npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false
vsts-npm-auth -config .npmrc
【讨论】:
根据 DevOps 的文档,这仅适用于 Windows。 不适用于 ubuntu:cannot execute binary file: Exec format error
... 可能这仅适用于 Windows 操作系统
对于 Windows,这对我来说是这样的......你必须启用脚本 polycies(例如 Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
Yes )以上是关于npm install from tfs feed(在构建过程中)给出错误:无法验证的主要内容,如果未能解决你的问题,请参考以下文章
仅当 tfs build 中的版本更改时 npm publish