跳到主要內容

dart pub downgrade

Downgradepub 工具的其中一個指令。

$ dart pub downgrade [--[no-]offline] [-n|--dry-run] [dependencies...]

在沒有任何額外引數的情況下,dart pub downgrade 會取得目前工作目錄中 pubspec.yaml 檔案中列出的所有相依性的最低版本,以及它們的遞移相依性。例如

$ dart pub downgrade
Resolving dependencies... (1.2s)
+ barback 0.13.0
+ collection 0.9.1
+ path 1.2.0
+ source_maps 0.9.0
+ source_span 1.0.0
+ stack_trace 0.9.1
Changed 6 dependencies!

dart pub downgrade 指令會建立鎖定檔。如果已存在鎖定檔,pub 會忽略該檔案並從頭開始產生新的鎖定檔,並使用所有相依性的最低版本。

如需套件解析和系統套件快取的詳細資訊,請參閱 dart pub get 文件

降級特定相依性

#

可以告訴 dart pub downgrade 將特定相依性降級到最低版本,同時盡可能保持其餘相依性不變。例如

$ dart pub downgrade test
Resolving dependencies...
  barback 0.15.2+2
  bot 0.27.0+2
  browser 0.10.0+2
  chrome 0.6.5
  collection 1.1.0
  path 1.3.0
  pool 1.0.1
  source_span 1.0.2
< stack_trace 0.9.2 (was 1.1.1)
  stagexl 0.10.2
< test 0.10.0 (was 0.11.4)
These packages are no longer being depended on:
- matcher 0.11.3
Changed 3 dependencies!

如果您要降級特定的相依性,pub 會嘗試尋找符合新相依性約束的任何遞移相依性的最高版本。任何遞移相依性通常也會因此而降級。

取得新的相依性

#

如果在執行 dart pub downgrade 之前將相依性新增至 pubspec,它會取得新的相依性及其任何遞移相依性。這與 dart pub get 共享相同的行為。

移除相依性

#

如果在執行 dart pub downgrade 之前從 pubspec 移除相依性,則該相依性將不再可用於匯入。移除的相依性的任何遞移相依性也會被移除,只要沒有剩餘的直接相依性也相依於它們。這與 dart pub get 的行為相同。

離線降級

#

如果您沒有網路存取權,您仍然可以執行 dart pub downgrade。由於 pub 將套件下載到系統上所有套件共用的中央快取,因此它通常可以找到先前下載的套件,而無需使用網路。

但是,預設情況下,如果您有任何託管的相依性,dart pub downgrade 會嘗試連線到網際網路。如果您不希望 pub 這樣做,請傳遞 --offline 旗標。在離線模式下,pub 只會在您的本機套件快取中尋找,嘗試從已有的內容中找到一組適用於您套件的版本。

選項

#

對於適用於所有 pub 指令的選項,請參閱全域選項

--[no-]offline

#

預設情況下,pub 會連線到網路以檢索託管的套件 (--no-offline)。若要改用快取的套件,請使用 --offline。如需詳細資訊,請參閱離線取得

--dry-run-n

#

報告哪些相依性會變更,但不會實際變更任何相依性。

--tighten

#

更新 pubspec.yaml 中相依性的下限以符合已解析的版本,並傳回已變更約束的清單。可以應用於特定相依性

在工作區中

#

Pub 工作區 中,dart pub downgrade 將會降級整個工作區中的所有相依性。