【问题标题】:I couldn't pub get a package from gitlab repository that contains two packages我无法从 gitlab 存储库中发布包含两个包的包
【发布时间】:2021-01-28 11:28:25
【问题描述】:

版本

发布 2.11.0-174.0.dev

复制步骤

我分叉了一个发布到 dartpub 的包。 DartPub GitLab 这个包包含twilio_programmable_videotwilio_programmable_video_platform_interfacetwilio_programmable_video 通过相对路径依赖于存储库中的 twilio_programmable_video_platform_interface。 树是这样的。

packages
    ├ packageA
        └ pubspec.yaml
    └ packageB
        └ pubspec.yaml

我将pubspec.yaml改写如下。

dependency_overrides:
  twilio_programmable_video_platform_interface:
    git:
      url: ssh://git@gitlab.com/myname/programmable-video.git
      ref: master
      path: programmable_video_platform_interface
  twilio_programmable_video:
    git:
      url: ssh://git@gitlab.com/myname/programmable-video.git
      ref: master
      path: programmable_video

然后我尝试flutter pub get并失败并出现以下错误。

Error on line 17, column 11: Invalid description in the "twilio_programmable_video" pubspec on the "twilio_programmable_video_platform_interface" dependency: "../programmable_video_platform_interface" is a relative path, but this isn't a local pubspec.
   ╷
17 │     path: ../programmable_video_platform_interface
   │           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ╵
pub get failed (65;    ╵)

我的pubspec.yaml 错了? 有没有其他正确的写法?

预期结果: flutter pub get 成功完成。

实际结果: flutter pub get时出错。

日志
$ flutter pub get


Error on line 17, column 11: Invalid description in the "twilio_programmable_video" pubspec on the "twilio_programmable_video_platform_interface" dependency: "../programmable_video_platform_interface" is a relative path, but this isn't a local pubspec.
   ╷
17 │     path: ../programmable_video_platform_interface
   │           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ╵
pub get failed (65;    ╵)

编辑(2021-01-29 16:40:00)

我想从我的 gitlab 存储库中获取一个包。 我尝试使用以下规范。

dependencies:
  flutter:
    sdk: flutter

  twilio_programmable_video_platform_interface:
    git:
      url: ssh://git@gitlab.com/myname/programmable-video.git
      ref: master
      path: programmable_video_platform_interface
  twilio_programmable_video:
    git:
      url: ssh://git@gitlab.com/myname/programmable-video.git
      ref: master
      path: programmable_video

但我遇到了同样的错误。

Error on line 17, column 11: Invalid description in the "twilio_programmable_video" pubspec on the "twilio_programmable_video_platform_interface" dependency: "../programmable_video_platform_interface" is a relative path, but this isn't a local pubspec.
   ╷
17 │     path: ../programmable_video_platform_interface
   │           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ╵
pub get failed (65;    ╵)

【问题讨论】:

    标签: android ios flutter dart


    【解决方案1】:

    看起来您正试图在依赖项覆盖中覆盖包依赖项。如果是,您应该提供 twilio_programmable_video_platform_interface 和 twilio_programmable_video 存储库的绝对/相对路径。 如果你想在你的项目中直接使用 github repos,你需要在 dependencies 下指定它们,而不是在 dependency_overrides 下。

    Snippet from pubspec.yaml:
    
    dependencies:
      flutter:
        sdk: flutter
      built_value: ^7.1.0
      packageA:
        git:
          url: git@bitbucket.org:pkg/packageA.git
          ref: master
    # Incase you want to override the above usage and instead use the repo on 
    # your local machine, you can specify the path of the repo under 
    # dependency_overrides.
    
    dependency_overrides:
      analyzer: ^0.41.1
      packageA:
        path: /Users/nbm/Downloads/Projects/Flutter/pkg/packageA
    

    【讨论】:

    • 在没有dependency_overrides的情况下写入依赖项时出现同样的错误。
    猜你喜欢
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多