我曾天真地以为带有双斜杠('//')的.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模块解析器文档中找不到任何关于此语法的参考。我猜这和合成特性有关吧
2条答案
按热度按时间dluptydi1#
//
在.npmrc
或任何其他.ini
文件中没有特殊含义。ini的语法是
key = value
。所以在这个例子中,密钥是//npm.myregistry.io/:_authToken
。这是一个协议相关的URL,意味着一个URL将自动从当前页面获取协议(您可以在浏览器中输入
//google.com
,它应该会将您带到https://google.com
)请注意,这可能不一定是npm用于身份验证的URL。它只是开发人员选择的一种格式,用于将
authToken
(或其他值)保存在与注册表URL相同的字符串中。1yjd4xko2#
根据nmpjs文档,.npmrc将以;开头的行解释为注解或编号
“//registry.npmjs.org/:”在文档中被引用为“URI片段”,应使用该片段以确定与身份验证相关的配置(如“_authToken”)的范围。