【问题标题】:JFrog gem repository source URIJFrog gem 存储库源 URI
【发布时间】:2022-12-06 03:18:49
【问题描述】:

我们使用 JFrog 作为我们内部包的包/gem 注册表。

  • 红宝石版本:3.0.3
  • RUBY 版本:2.6.5(2019-10-01 补丁级别 114)[x86_64-darwin19]

当我尝试将生成的源链接添加到我的 gem 源时

gem source -a https://stephan@company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/

我收到一个错误

ERROR:  While executing gem ... (URI::InvalidURIError)
bad URI(is not URI?): "https://stephan@company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/"

我明白写错了什么,当它是 jfrog 生成的 URI 时,这对我来说很奇怪。 https://www.jfrog.com/confluence/display/JFROG/RubyGems+Repositories

如果我启用匿名访问,一切正常,没有授权部分

gem source -a https://<USERNAME>:<PASSWORD>@company.jfrog.io/artifactory/api/gems/my-gems/

我也尝试手动添加到 ~/.gemrc

---
:backtrace: false
:bulk_threshold: 1000
:sources:
- https://stephan@company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/
- https://rubygems.org/
- http://rubygems.org
:update_sources: true
:verbose: true
:concurrent_downloads: 8

它给出了相同的结果

有人遇到并解决了吗?

【问题讨论】:

    标签: ruby-on-rails ruby rubygems artifactory


    【解决方案1】:

    这解决了问题,+使用环境变量

    source "https://#{CGI::escape(ENV["JFROG_USERNAME"])}:#{ENV["JFROG_PASSWORD"]}@company.jfrog.io/artifactory/api/gems/my-gems/" do
      gem 'my-gem', '0.0.20'
    end
    

    【讨论】:

      【解决方案2】:

      用户名有一个@。这看起来是默认设置,至少在您使用电子邮件地址创建帐户时是这样。

      这将起作用:

      gem source -a https://stephan%40company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-11
        • 1970-01-01
        • 2017-06-05
        • 2018-09-28
        • 1970-01-01
        • 2021-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多