ข้อผิดพลาดในการติดตั้ง http.pub

กำลังพยายามติดตั้งแพ็คเกจ http ซึ่งล่าสุดคือเวอร์ชัน 0.11.3+13 และพบที่นี่

เมื่อฉันใส่มันลงใน pubspec.yaml ในโปรเจ็กต์ของฉัน ฉันจะได้รับสิ่งนี้:

แพ็คเกจ http ไม่มีเวอร์ชันที่ตรงกับ >=0.11.3+13 ‹0.12.0 มาจาก: - สิ่งที่สังเกตได้ขึ้นอยู่กับเวอร์ชัน ^0.11.3+13

นี่คือ pubspec.yaml ของฉัน (โปรดทราบว่าฉันได้ใส่ความคิดเห็นไว้ชั่วคราวว่า 'เชิงมุม2' และ 'rxdart'

environment:
  sdk: '>=1.20.1 <2.0.0'

dependencies:
  # angular2: ^2.2.0
  # rxdart: ^0.10.2
  http: ^0.11.3+13

dev_dependencies:
  browser: ^0.10.0
  dart_to_js_script_rewriter: ^1.0.1

transformers:
- angular2:
    platform_directives:
    - 'package:angular2/common.dart#COMMON_DIRECTIVES'
    platform_pipes:
    - 'package:angular2/common.dart#COMMON_PIPES'
    entry_points: web/main.dart
- dart_to_js_script_rewriter

ฉันสามารถดาวน์โหลดแพ็คเกจได้ (เวอร์ชันนั้น) นี่คือ pubspec.yaml:

name: http
version: 0.11.3+13
author: "Dart Team <[email protected]>"
homepage: https://github.com/dart-lang/http
description: A composable, Future-based API for making HTTP requests.
dependencies:
  async: "^1.10.0"
  collection: "^1.5.0"
  http_parser: ">=0.0.1 <4.0.0"
  path: ">=0.9.0 <2.0.0"
  stack_trace: ">=0.9.1 <2.0.0"
dev_dependencies:
  unittest: ">=0.9.0 <0.12.0"
environment:
  sdk: ">=1.23.0-dev.0.0 <2.0.0"

และนี่คือผลลัพธ์ของ pub get ที่แสดงรายการแพ็คเกจและเวอร์ชันทั้งหมดที่สามารถติดตั้งได้ (โดยการลบแพ็คเกจ http):

  analyzer 0.29.10 (0.30.0-alpha.2 available)
  angular2 2.2.0 (3.0.0-beta+1 available)
  args 0.13.7
  async 1.13.2
  barback 0.15.2+10
  browser 0.10.0+2
  build 0.5.0 (0.8.0 available)
  charcode 1.1.1
  cli_util 0.0.1+2
  code_transformers 0.5.1
  collection 1.14.0
  convert 2.0.1
  crypto 2.0.1
  csslib 0.13.5
  dart_style 0.2.16 (1.0.3 available)
  dart_to_js_script_rewriter 1.0.2
  fixnum 0.10.5
  glob 1.1.3
  html 0.13.1
  http_parser 3.1.1
  intl 0.14.0 (0.15.0 available)
  isolate 1.0.0
  js 0.6.1
  logging 0.11.3+1
  meta 1.0.5
  mime 0.9.3
  observable 0.14.0+1 (0.20.4+1 available)
  package_config 1.0.0
  path 1.4.1
  plugin 0.2.0
  pool 1.3.0
  protobuf 0.5.4
  rxdart 0.10.2
  shelf 0.6.7+2


  shelf_static 0.2.4
  source_maps 0.10.4
  source_span 1.3.1
  stack_trace 1.7.3
  stream_channel 1.6.1
  string_scanner 1.0.1
  typed_data 1.1.3
  utf 0.9.0+3
  watcher 0.9.7+3
  when 0.2.0
  which 0.1.3
  yaml 2.1.12

ข้อสังเกตสองประการ:

  1. เมื่อฉันลอง 'อัปเกรดผับ' ก็ไม่มีอะไรเปลี่ยนแปลง แม้ว่าเอาต์พุต 'get' จะแสดงว่ายังมีเวอร์ชันที่ใหม่กว่าอยู่ก็ตาม

  2. เมื่อดูการขึ้นต่อกันในแพ็คเกจ http ดูเหมือนว่าพวกมันทั้งหมดจะอ้างอิงเวอร์ชันที่ถูกต้องในเอาต์พุต 'get'

ดังนั้น หากสิ่งที่สังเกตได้ขึ้นอยู่กับเวอร์ชัน ^0.11.3+13 และนั่นคือเวอร์ชันที่ฉันพยายามติดตั้ง และค้นหาได้อย่างแน่นอนบน github ทำไมมันถึงบ่น

ฉันได้ตรวจสอบรายงานข้อผิดพลาดแล้ว และเห็นพ้องต้องกันว่าเป็นปัญหาการพึ่งพาเวอร์ชัน ซึ่งน่าจะแก้ไขได้ง่าย แต่ฉันไม่เห็นข้อขัดแย้งหรือการพึ่งพานอกเวอร์ชันที่นี่ และฉันไม่รู้ว่าจะหาและแก้ไขอย่างไรหากเป็นเช่นนั้น

มีวิธีติดตั้งแพ็คเกจด้วยตนเองหรือจะทำให้สิ่งต่าง ๆ พังมากขึ้น?


person rickb    schedule 20.04.2017    source แหล่งที่มา


คำตอบ (1)


ข้อความแสดงข้อผิดพลาดทำให้เข้าใจผิด เพียงแต่หมายความว่า pub ไม่พบชุดการขึ้นต่อกันที่ตรงกัน

ในกรณีของคุณ ฉันค่อนข้างแน่ใจว่ามันเป็นข้อ จำกัด SDK ในเวอร์ชัน http ที่คุณใช้อยู่

https://github.com/dart-lang/http/blob/0.11.3%2B13/pubspec.yaml

environment:
  sdk: ">=1.23.0-dev.0.0 <2.0.0"
person Günter Zöchbauer    schedule 20.04.2017
comment
วิธีที่ว่า? ข้อมูลจำเพาะสภาพแวดล้อม/sdk ของแพ็คเกจเหมือนกับในโครงการของฉันทุกประการ: พวกเขา: › sdk: ›=1.23.0-dev.0.0 ‹2.0.0 เหมือง: › sdk: '›=1.20.1 ‹2.0.0 - person rickb; 20.04.2017
comment
มันออกมาไม่ดีนัก.... อย่างไรก็ตาม ฉันใช้ dart 1.22.1 ฉันจะค้นหาเวอร์ชัน SDK ได้อย่างไร - person rickb; 20.04.2017
comment
คุณรองรับ >=1.20.1, http ต้องใช้ >=1.23.0-dev.0.0 ไม่แน่ใจว่าจะแสดงความคิดเห็นของคุณอย่างไร ฉันคิดว่าคุณต้องการ Dart เวอร์ชันใหม่กว่าหรืออนุญาต http เวอร์ชันเก่ากว่า - person Günter Zöchbauer; 20.04.2017
comment
โอเค ถ้ามันรองรับ ›=1.20.1 (และ ‹2.0.0) 1.23 ก็อยู่ในช่วงนั้นใช่ไหม ดังนั้นเวอร์ชัน SDK ของฉันเหมือนกับการส่งคืน 'dart --version' หรือไม่ (ซึ่งก็คือ 1.22.1) (ฉันถามสิ่งนี้เพราะในสภาพแวดล้อม dev หลายแห่ง เครื่องมือและ SDK ไม่จำเป็นต้องเป็นเวอร์ชันเดียวกัน) - person rickb; 20.04.2017
comment
เมื่อดูจากไซต์ดาวน์โหลด ดูเหมือนว่า 1.23 จะเป็นเวอร์ชันสำหรับนักพัฒนา และ 1.22 เป็นเวอร์ชันเสถียร ฉันใช้ Brew เพื่อติดตั้งบน Mac ซึ่งจะดึงเวอร์ชันเสถียรออกมา ฉันเดาว่าฉันต้องดึงสิ่งนั้นและลองใช้เวอร์ชัน dev... - person rickb; 20.04.2017
comment
เวอร์ชัน 1.22.1 ของคุณไม่อยู่ในช่วงที่กำหนดโดย http ใช่ dart --version พิมพ์เวอร์ชันของ Dart SDK ของคุณ เครื่องมือที่มาพร้อมกับ SDK อาจมีเวอร์ชันของตัวเองได้ แต่แน่นอนว่าเครื่องมือเหล่านั้นจะสอดคล้องกับเวอร์ชันนั้น - person Günter Zöchbauer; 20.04.2017
comment
1.23.0-dev.0.0 เป็นเวอร์ชัน dev อย่างแน่นอนตามที่ -dev ในเวอร์ชันกล่าวไว้ - person Günter Zöchbauer; 20.04.2017