问题描述
我的办公室里有私人物品。 我使用verdaccio从互联网下载npms,然后将其插入到私有产品中。 它适用于Wonderfool。 我购买了Font Awesome专业版,并想下载npm。 如何传递给verdaccion安全令牌? 没有令牌,我无法下载npm
tnx
解决方法
您实际上可以设置一个令牌对等体uplink
,该对等体将包含在每个请求中:
使用Verdaccio,有两种方法可以实现所需的目标:
- 具有环境变量
如果要自定义自己的环境变量。
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token_env: FOO_TOKEN
或者我们是verdaccio识别的默认NPM_TOKEN
。
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token_env: true # defaults to `process.env['NPM_TOKEN']`
这在害怕泄漏敏感信息的CI环境中很方便。
- 配置文件中的令牌
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token: "token"
我建议仅针对本地开发执行此操作,在其他情况下,请使用选项1。
有关更多信息,请参见official documentation about uplinks。
请记住,您可以具有指向同一注册表的不同上行链路,例如:
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token: "token"
private2:
url: https://private-registry.domain.com/registry2
auth:
type: bearer
token: "token"
packages:
'@my-company/*':
access: $access
publish: $authenticated
proxy: private private2
在这种情况下,程序包将可以访问两个受令牌保护的源,如果一个返回404,则第二个代理将尝试解决您的请求。