pingbird / puro

A powerful tool for installing and upgrading Flutter versions.
https://puro.dev
Other
229 stars 10 forks source link

Is it possible to add manually downloaded flutter to puro's environments? #67

Open ivanesi opened 7 months ago

ivanesi commented 7 months ago

It's not the first attempt for me to use puro, but for some reason I can't create environment with puro create command.

puro create v3_16_6 3.16.6 --log-level=4 ivan@mb2 ~ % puro create v3_16_6 3.16.6 --log-level=4 [D] PURO_FLUTTER_BIN: null [V] Started waiting for lock on /Users/ivan/.puro/prefs.json [V] Waiting for lock on /Users/ivan/.puro/prefs.json took 0ms [D] target: PuroBuildTarget.macosX64 [D] Platform.executable: puro [D] Platform.resolvedExecutable: /Users/ivan/.puro/bin/puro [D] Platform.script: file:///Users/ivan/puro [D] Platform.packageConfig: null [D] No package root: Platform.packageConfig is null [D] packageRoot: null [D] executablePath: /Users/ivan/.puro/bin/puro [D] scriptPath: /Users/ivan/.puro/bin/puro [D] scriptExtension: [D] installationType: PuroInstallationType.distribution [D] version: 1.4.4 [V] Checking if update is available [V] Started waiting for lock on /Users/ivan/.puro/latest_version [V] Waiting for lock on /Users/ivan/.puro/latest_version took 0ms [D] lastNotification: null [D] latestVersion: 1.4.4 [D] isOutOfDate: false [D] willNotify: false [D] shouldVersionCheck: false [D] lastVersionCheck: 2024-01-11 22:31:45.127207 [V] Started waiting for lock on /Users/ivan/.puro/releases_macos.json [V] Waiting for lock on /Users/ivan/.puro/releases_macos.json took 0ms [V] Creating a new environment in /Users/ivan/.puro/envs/v3_16_6 [V] Started waiting for lock on /Users/ivan/.puro/envs/v3_16_6/update.lock [V] Waiting for lock on /Users/ivan/.puro/envs/v3_16_6/update.lock took 0ms [V] Started waiting for lock on /Users/ivan/.puro/envs/v3_16_6/prefs.json [V] Waiting for lock on /Users/ivan/.puro/envs/v3_16_6/prefs.json took 0ms [V] Pre-caching engine... [V] Cloning flutter with shared refs [D] repository: /Users/ivan/.puro/envs/v3_16_6/flutter [D] flutterVersion: stable / 3.16.6 / 46787ee49c [D] forkRemoteUrl: stable / 3.16.6 / 46787ee49c [D] forkRef: null [V] Started cloning https://github.com/flutter/flutter.git [D] [git 8105] > git clone https://github.com/flutter/flutter.git --no-checkout --progress --shared /Users/ivan/.puro/shared/flutter [D] git: Cloning into '/Users/ivan/.puro/shared/flutter'... [D] Pre-caching engine 3f3e560236539b7e2702f5ac790b2a4691b32d49 [V] Started checking if dart works [D] > /Users/ivan/.puro/shared/caches/3f3e560236539b7e2702f5ac790b2a4691b32d49/dart-sdk/bin/dart --version [V] Checking if dart works took 3ms [W] dart version check failed, deleting cache [V] Downloading engine [D] > sysctl -n hw.optional.arm64 [D] sysctl finished in 10ms [V] sysctl: sysctl: unknown oid 'hw.optional.arm64' [V] sysctl subprocess failed with exit code 1 [V] Downloading https://storage.googleapis.com/flutter_infra_release/flutter/3f3e560236539b7e2702f5ac790b2a4691b32d49/dart-sdk-darwin-x64.zip to /Users/ivan/.puro/shared/caches/3f3e560236539b7e2702f5ac790b2a4691b32d49.zip [V] Started downloading engine [D] git: remote: Enumerating objects: 488672, done. [D] git: remote: Counting objects: 0% (1/104) [D] git: remote: Counting objects: 1% (2/104) [D] git: remote: Counting objects: 2% (3/104) [D] git: remote: Counting objects: 3% (4/104) [D] git: remote: Counting objects: 4% (5/104) [D] git: remote: Counting objects: 5% (6/104) [D] git: remote: Counting objects: 6% (7/104) [D] git: remote: Counting objects: 7% (8/104) [D] git: remote: Counting objects: 8% (9/104) [D] git: remote: Counting objects: 9% (10/104) [D] git: remote: Counting objects: 10% (11/104) [D] git: remote: Counting objects: 11% (12/104) [D] git: remote: Counting objects: 12% (13/104) [D] git: remote: Counting objects: 13% (14/104) [D] git: remote: Counting objects: 14% (15/104) [D] git: remote: Counting objects: 15% (16/104) [D] git: remote: Counting objects: 16% (17/104) [D] git: remote: Counting objects: 17% (18/104) [D] git: remote: Counting objects: 18% (19/104) [D] git: remote: Counting objects: 19% (20/104) [D] git: remote: Counting objects: 20% (21/104) [D] git: remote: Counting objects: 21% (22/104) [D] git: remote: Counting objects: 22% (23/104) [D] git: remote: Counting objects: 23% (24/104) [D] git: remote: Counting objects: 24% (25/104) [D] git: remote: Counting objects: 25% (26/104) [D] git: remote: Counting objects: 26% (28/104) [D] git: remote: Counting objects: 27% (29/104) [D] git: remote: Counting objects: 28% (30/104) [D] git: remote: Counting objects: 29% (31/104) [D] git: remote: Counting objects: 30% (32/104) [D] git: remote: Counting objects: 31% (33/104) [D] git: remote: Counting objects: 32% (34/104) [D] git: remote: Counting objects: 33% (35/104) [D] git: remote: Counting objects: 34% (36/104) [D] git: remote: Counting objects: 35% (37/104) [D] git: remote: Counting objects: 36% (38/104) [D] git: remote: Counting objects: 37% (39/104) [D] git: remote: Counting objects: 38% (40/104) [D] git: remote: Counting objects: 39% (41/104) [D] git: remote: Counting objects: 40% (42/104) [D] git: remote: Counting objects: 41% (43/104) [D] git: remote: Counting objects: 42% (44/104) [D] git: remote: Counting objects: 43% (45/104) [D] git: remote: Counting objects: 44% (46/104) [D] git: remote: Counting objects: 45% (47/104) [D] git: remote: Counting objects: 46% (48/104) [D] git: remote: Counting objects: 47% (49/104) [D] git: remote: Counting objects: 48% (50/104) [D] git: remote: Counting objects: 49% (51/104) [D] git: remote: Counting objects: 50% (52/104) [D] git: remote: Counting objects: 51% (54/104) [D] git: remote: Counting objects: 52% (55/104) [D] git: remote: Counting objects: 53% (56/104) [D] git: remote: Counting objects: 54% (57/104) [D] git: remote: Counting objects: 55% (58/104) [D] git: remote: Counting objects: 56% (59/104) [D] git: remote: Counting objects: 57% (60/104) [D] git: remote: Counting objects: 58% (61/104) [D] git: remote: Counting objects: 59% (62/104) [D] git: remote: Counting objects: 60% (63/104) [D] git: remote: Counting objects: 61% (64/104) [D] git: remote: Counting objects: 62% (65/104) [D] git: remote: Counting objects: 63% (66/104) [D] git: remote: Counting objects: 64% (67/104) [D] git: remote: Counting objects: 65% (68/104) [D] git: remote: Counting objects: 66% (69/104) [D] git: remote: Counting objects: 67% (70/104) [D] git: remote: Counting objects: 68% (71/104) [D] git: remote: Counting objects: 69% (72/104) [D] git: remote: Counting objects: 70% (73/104) [D] git: remote: Counting objects: 71% (74/104) [D] git: remote: Counting objects: 72% (75/104) [D] git: remote: Counting objects: 73% (76/104) [D] git: remote: Counting objects: 74% (77/104) [D] git: remote: Counting objects: 75% (78/104) [D] git: remote: Counting objects: 76% (80/104) [D] git: remote: Counting objects: 77% (81/104) [D] git: remote: Counting objects: 78% (82/104) [D] git: remote: Counting objects: 79% (83/104) [D] git: remote: Counting objects: 80% (84/104) [D] git: remote: Counting objects: 81% (85/104) [D] git: remote: Counting objects: 82% (86/104) [D] git: remote: Counting objects: 83% (87/104) [D] git: remote: Counting objects: 84% (88/104) [D] git: remote: Counting objects: 85% (89/104) [D] git: remote: Counting objects: 86% (90/104) [D] git: remote: Counting objects: 87% (91/104) [D] git: remote: Counting objects: 88% (92/104) [D] git: remote: Counting objects: 89% (93/104) [D] git: remote: Counting objects: 90% (94/104) [D] git: remote: Counting objects: 91% (95/104) [D] git: remote: Counting objects: 92% (96/104) [D] git: remote: Counting objects: 93% (97/104) [D] git: remote: Counting objects: 94% (98/104) [D] git: remote: Counting objects: 95% (99/104) [D] git: remote: Counting objects: 96% (100/104) [D] git: remote: Counting objects: 97% (101/104) [D] git: remote: Counting objects: 98% (102/104) [D] git: remote: Counting objects: 99% (103/104) [D] git: remote: Counting objects: 100% (104/104) [D] git: remote: Counting objects: 100% (104/104), done. [D] git: remote: Compressing objects: 1% (1/59) [D] git: remote: Compressing objects: 3% (2/59) [D] git: remote: Compressing objects: 5% (3/59) [D] git: remote: Compressing objects: 6% (4/59) [D] git: remote: Compressing objects: 8% (5/59) [D] git: remote: Compressing objects: 10% (6/59) [D] git: remote: Compressing objects: 11% (7/59) [D] git: remote: Compressing objects: 13% (8/59) [D] git: remote: Compressing objects: 15% (9/59) [D] git: remote: Compressing objects: 16% (10/59) [D] git: remote: Compressing objects: 18% (11/59) [D] git: remote: Compressing objects: 20% (12/59) [D] git: remote: Compressing objects: 22% (13/59) [D] git: remote: Compressing objects: 23% (14/59) [D] git: remote: Compressing objects: 25% (15/59) [D] git: remote: Compressing objects: 27% (16/59) [D] git: remote: Compressing objects: 28% (17/59) [D] git: remote: Compressing objects: 30% (18/59) [D] git: remote: Compressing objects: 32% (19/59) [D] git: remote: Compressing objects: 33% (20/59) [D] git: remote: Compressing objects: 35% (21/59) [D] git: remote: Compressing objects: 37% (22/59) [D] git: remote: Compressing objects: 38% (23/59) [D] git: remote: Compressing objects: 40% (24/59) [D] git: remote: Compressing objects: 42% (25/59) [D] git: remote: Compressing objects: 44% (26/59) [D] git: remote: Compressing objects: 45% (27/59) [D] git: remote: Compressing objects: 47% (28/59) [D] git: remote: Compressing objects: 49% (29/59) [D] git: remote: Compressing objects: 50% (30/59) [D] git: remote: Compressing objects: 52% (31/59) [D] git: remote: Compressing objects: 54% (32/59) [D] git: remote: Compressing objects: 55% (33/59) [D] git: remote: Compressing objects: 57% (34/59) [D] git: remote: Compressing objects: 59% (35/59) [D] git: remote: Compressing objects: 61% (36/59) [D] git: remote: Compressing objects: 62% (37/59) [D] git: remote: Compressing objects: 64% (38/59) [D] git: remote: Compressing objects: 66% (39/59) [D] git: remote: Compressing objects: 67% (40/59) [D] git: remote: Compressing objects: 69% (41/59) [D] git: remote: Compressing objects: 71% (42/59) [D] git: remote: Compressing objects: 72% (43/59) [D] git: remote: Compressing objects: 74% (44/59) [D] git: remote: Compressing objects: 76% (45/59) [D] git: remote: Compressing objects: 77% (46/59) [D] git: remote: Compressing objects: 79% (47/59) [D] git: remote: Compressing objects: 81% (48/59) [D] git: remote: Compressing objects: 83% (49/59) [D] git: remote: Compressing objects: 84% (50/59) [D] git: remote: Compressing objects: 86% (51/59) [D] git: remote: Compressing objects: 88% (52/59) [D] git: remote: Compressing objects: 89% (53/59) [D] git: remote: Compressing objects: 91% (54/59) [D] git: remote: Compressing objects: 93% (55/59) [D] git: remote: Compressing objects: 94% (56/59) [D] git: remote: Compressing objects: 96% (57/59) [D] git: remote: Compressing objects: 98% (58/59) [D] git: remote: Compressing objects: 100% (59/59) [D] git: remote: Compressing objects: 100% (59/59), done. [D] git: Receiving objects: 0% (1/488672) [D] git: Receiving objects: 0% (40/488672), 28.01 KiB | 7.00 KiB/s [D] git: Receiving objects: 0% (208/488672), 28.01 KiB | 7.00 KiB/s [D] git: Receiving objects: 0% (237/488672), 180.01 KiB | 40.00 KiB/s [D] git: Receiving objects: 0% (281/488672), 212.01 KiB | 37.00 KiB/s [D] git: Receiving objects: 0% (304/488672), 228.01 KiB | 33.00 KiB/s [D] git: Receiving objects: 0% (315/488672), 236.01 KiB | 27.00 KiB/s [D] git: Receiving objects: 0% (326/488672), 244.01 KiB | 22.00 KiB/s [D] git: Receiving objects: 0% (342/488672), 260.01 KiB | 21.00 KiB/s [D] git: Receiving objects: 0% (360/488672), 260.01 KiB | 21.00 KiB/s [D] git: Receiving objects: 0% (389/488672), 300.01 KiB | 25.00 KiB/s [D] git: Receiving objects: 0% (409/488672), 316.01 KiB | 13.00 KiB/s [D] git: Receiving objects: 0% (420/488672), 324.01 KiB | 13.00 KiB/s [D] git: Receiving objects: 0% (496/488672), 372.01 KiB | 15.00 KiB/s [D] git: Receiving objects: 0% (541/488672), 428.01 KiB | 21.00 KiB/s [D] git: Receiving objects: 0% (585/488672), 460.01 KiB | 27.00 KiB/s [D] git: Receiving objects: 0% (595/488672), 468.01 KiB | 20.00 KiB/s [D] git: Receiving objects: 0% (627/488672), 492.01 KiB | 14.00 KiB/s [D] git: Receiving objects: 0% (650/488672), 500.01 KiB | 14.00 KiB/s [D] git: Receiving objects: 0% (690/488672), 540.01 KiB | 12.00 KiB/s [D] git: Receiving objects: 0% (721/488672), 564.01 KiB | 9.00 KiB/s [D] git: Receiving objects: 0% (750/488672), 588.01 KiB | 12.00 KiB/s [D] git: Receiving objects: 0% (772/488672), 588.01 KiB | 12.00 KiB/s [D] git: Receiving objects: 0% (802/488672), 628.01 KiB | 21.00 KiB/s [D] git: Receiving objects: 0% (812/488672), 636.01 KiB | 21.00 KiB/s [D] git: Receiving objects: 0% (827/488672), 652.01 KiB | 9.00 KiB/s [D] git: Receiving objects: 0% (845/488672), 668.01 KiB | 6.00 KiB/s [D] git: Receiving objects: 0% (865/488672), 684.01 KiB | 5.00 KiB/s [D] git: Receiving objects: 0% (919/488672), 724.01 KiB | 6.00 KiB/s [D] git: Receiving objects: 0% (1116/488672), 812.01 KiB | 10.00 KiB/s [D] git: Receiving objects: 0% (1236/488672), 964.01 KiB | 9.00 KiB/s [D] git: Receiving objects: 0% (1257/488672), 980.01 KiB | 10.00 KiB/s [D] git: Receiving objects: 0% (1281/488672), 996.01 KiB | 10.00 KiB/s [D] git: Receiving objects: 0% (1302/488672), 1012.01 KiB | 9.00 KiB/s [D] git: Receiving objects: 0% (1315/488672), 1012.01 KiB | 9.00 KiB/s [D] git: Receiving objects: 0% (1378/488672), 1.03 MiB | 6.00 KiB/s [D] git: Receiving objects: 0% (1423/488672), 1.07 MiB | 4.00 KiB/s [D] git: Receiving objects: 0% (1455/488672), 1.10 MiB | 7.00 KiB/s [D] git: Receiving objects: 0% (1487/488672), 1.11 MiB | 7.00 KiB/s [D] git: Receiving objects: 0% (1542/488672), 1.16 MiB | 13.00 KiB/s [D] git: error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8) [D] git: error: 7932 bytes of body are still expected [D] git: fetch-pack: unexpected disconnect while reading sideband packet [D] git: fatal: early EOF [D] git: fatal: fetch-pack: invalid index-pack output [D] [git 8105] finished with exit code 128 in 98677ms [V] git failed with exit code 128 [V] Cloning https://github.com/flutter/flutter.git took 98677ms [ ] Downloading engine [x] Bad state: git subprocess failed with exit code 128 #0 GitClient._ensureSuccess (package:puro/src/git.dart:109) #1 GitClient.clone (package:puro/src/git.dart:167) #2 GitClient.cloneWithProgress. (package:puro/src/git.dart:181) #3 ProgressNode.wrap (package:puro/src/progress.dart:68) #4 GitClient.cloneWithProgress (package:puro/src/git.dart:179) #5 fetchOrCloneShared (package:puro/src/env/create.dart:205) #6 cloneFlutterWithSharedRefs (package:puro/src/env/create.dart:332) #7 createEnvironment. (package:puro/src/env/create.dart:148) #8 lockFile (package:puro/src/file_lock.dart:68) #9 createEnvironment (package:puro/src/env/create.dart:109) #10 CommandRunner.runCommand (package:args/command_runner.dart:212) #11 main (package:puro/src/cli.dart:256) [x] Puro crashed! Please file an issue at https://github.com/pingbird/puro

But i can easily download zip from flutter's website. Can I add it to puro's available environments?

pingbird commented 7 months ago

The error seems to indicate an unstable network or issue with GitHub's servers that disconnected while git was pulling the flutter repository, try running puro rm v3_16_6 and try again.

ivanesi commented 7 months ago

As I mentioned above it's not the first attempt with same result, I tried this for several days. But I can download flutter in other way. My question is - can I use pre-downloaded flutter with puro? Create folder in ~/.puro/shared and place flutter there?

pingbird commented 7 months ago

Puro is designed to work with environments installed via git, not the release zips from the website.

There are more troubleshooting steps here: https://stackoverflow.com/questions/59282476/error-rpc-failed-curl-92-http-2-stream-0-was-not-closed-cleanly-protocol-erro

Otherwise it's possible the network you are in is tampering with the connection, or a firewall somewhere doesn't like HTTP/2.