From b810f233ee4dadaa550a7d5fd1af8044dc03643e Mon Sep 17 00:00:00 2001 From: Javier Ferrer Date: Fri, 12 Mar 2021 07:55:16 +0100 Subject: [PATCH] =?UTF-8?q?[=F0=9F=93=A6=20rust]=20Fix=20crash=20while=20u?= =?UTF-8?q?pdating=20cargo=20dependencies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In case of having multiple Cargo dependencies installed such as: ```sh {▸} ~ cargo install --list docpars v0.2.0: docpars git-delta v0.6.0: delta ``` The previous command was passing out multiple lines: ```sh {▸} ~ cargo install --list | grep -E '^[a-z0-9_-]+ v[0-9.]+:$' | cut -f1 -d' ' docpars git-delta ``` Because of these lines were being received by the very same `cargo install` command, it was failing: ```sh {▸} ~ cargo install "$(cargo install --list | grep -E '^[a-z0-9_-]+ v[0-9.]+:$' | cut -f1 -d' ')" Updating crates.io index error: could not find `docpars git-delta` in registry `https://github.com/rust-lang/crates.io-index` with version `*` ``` Now, it executes the `cargo install` multiple times, but at least do not produce crashes 😅 ```sh {▸} ~ cargo install --list | grep -E '^[a-z0-9_-]+ v[0-9.]+:$' | cut -f1 -d' ' | xargs -n1 cargo install Updating crates.io index Ignored package `docpars v0.2.0` is already installed, use --force to override Updating crates.io index Ignored package `git-delta v0.6.0` is already installed, use --force to override ``` --- scripts/package/update_all | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/package/update_all b/scripts/package/update_all index d42ac7090..31188994e 100755 --- a/scripts/package/update_all +++ b/scripts/package/update_all @@ -33,7 +33,7 @@ platform::command_exists composer && output::header '🐘 Updating Composer' && platform::command_exists pip3 && output::header '🐍 Updating pip' && pip3 freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U platform::command_exists gem && output::header '♦️ Updating gem' && gem update platform::command_exists npm && output::header '🌈 Updating npm' && npm install -g npm && npm update -g -platform::command_exists cargo && output::header '📦 Updating cargo' && cargo install "$(cargo install --list | egrep '^[a-z0-9_-]+ v[0-9.]+:$' | cut -f1 -d' ')" +platform::command_exists cargo && output::header '📦 Updating cargo' && cargo install --list | grep -E '^[a-z0-9_-]+ v[0-9.]+:$' | cut -f1 -d' ' | xargs -n1 cargo install platform::command_exists deno && output::header '🦕 Updating deno' && deno upgrade output::empty_line