Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
存在代码为1的vsts npm auth,输入不是有效的Base-64字符串_Npm_.npmrc - Fatal编程技术网

存在代码为1的vsts npm auth,输入不是有效的Base-64字符串

存在代码为1的vsts npm auth,输入不是有效的Base-64字符串,npm,.npmrc,Npm,.npmrc,我已将我的项目配置为使用私有Azure DevOps feed-through.npmrc文件 我有一个.js脚本,可以执行以下操作: const{exec}=require('child_进程'); 常量npmrc_位置=。。。 常量命令= [     'npm install vsts npm auth--注册表https://registry.npmjs.com--始终验证为false--不保存' “vsts npm认证-R-C”+npmrc\U位置 ]; exec(commands.jo

我已将我的项目配置为使用私有Azure DevOps feed-through.npmrc文件

我有一个.js脚本,可以执行以下操作:

const{exec}=require('child_进程');
常量npmrc_位置=。。。
常量命令=
[    
'npm install vsts npm auth--注册表https://registry.npmjs.com--始终验证为false--不保存'
“vsts npm认证-R-C”+npmrc\U位置
];
exec(commands.join('&&'),(错误)=>{
如果(错误){
console.log(错误)
}});
当它第一次在$env:USERPROFILE.npmrc文件下创建.npmrc文件时,一切正常

文档中说,如果-F标志“不存在或为false,则目标配置文件中的现有令牌只有在接近或超过到期时才会被替换。”因此,作为项目构建步骤的一部分重新运行脚本应该可以

但是,在执行
'vsts-npm-auth-R-C'+npmrc_location'
时,有时会遇到以下错误:

vsts npm认证v0.41.0.0:
输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符。。
我最好的猜测是它试图读取.npmrc文件的内容

有人知道为什么会发生这种情况,有什么好的解决办法吗


谢谢

我想你以前可能运行过vsts npm auth,并且在你的home dir中得到了隐藏在.npmrc中的令牌,它不再有效,你可以尝试使用-F强制获取新令牌。

@Ahmed的想法是正确的。我无法对答案发表评论,但简而言之,您可以运行此命令获取令牌:


vsts npm auth-config-F

与无用的错误消息完全不同。谢谢@Ahmed using-F为我工作