NodeJS 在.npmrc中,以双斜杠'//'开头的行是什么意思?

cbwuti44  于 2023-06-29  发布在  Node.js
关注(0)|答案(2)|浏览(208)

我曾天真地以为带有双斜杠('//')的.npmrc行表示注解,但显然不是这样,因为当我删除它们时,我无法发布到本地注册表。
示例:

registry=https://npm.myregistry.io/
//email=me@mydomain.com
//npm.myregistry.io/:_authToken="Pgwb34F123EQdHqE7OoZA=="

如果我删除上面的//行,则将结果发布到

npm ERR! code ENEEDAUTH
npm ERR! need auth auth required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`

我在npmrc文档或ini模块解析器文档中找不到任何关于此语法的参考。我猜这和合成特性有关吧

dluptydi

dluptydi1#

//.npmrc或任何其他.ini文件中没有特殊含义。
ini的语法是key = value。所以在这个例子中,密钥是//npm.myregistry.io/:_authToken
这是一个协议相关的URL,意味着一个URL将自动从当前页面获取协议(您可以在浏览器中输入//google.com,它应该会将您带到https://google.com
请注意,这可能不一定是npm用于身份验证的URL。它只是开发人员选择的一种格式,用于将authToken(或其他值)保存在与注册表URL相同的字符串中。

1yjd4xko

1yjd4xko2#

根据nmpjs文档,.npmrc将以;开头的行解释为注解或编号
“//registry.npmjs.org/:”在文档中被引用为“URI片段”,应使用该片段以确定与身份验证相关的配置(如“_authToken”)的范围。

相关问题