tauri-apps / tauri

Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
https://tauri.app
Apache License 2.0
84.84k stars 2.56k forks source link

[bug] failed to bundle project: `No such file or directory (os error 2)` in 2.0.0-beta.19 #9791

Closed gudaoxuri closed 5 months ago

gudaoxuri commented 6 months ago

Describe the bug

Build windows executable program in wsl2.

    Debug [ureq::unit] writing prelude: GET /github-production-release-asset-2e65be/580520344/a0828d2d-7113-4581-909b-20ecc733ce7a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240515T043811Z&X-Amz-Expires=300&X-Amz-Signature=b546474b041197f050134ec7ae47417f1e958be67b5dba5da558f75dc2ae561a&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=580520344&response-content-disposition=attachment%3B%20filename%3Dnsis_tauri_utils.dll&response-content-type=application%2Foctet-stream HTTP/1.1
Host: objects.githubusercontent.com
User-Agent: ureq/2.9.6
Accept: */*
accept-encoding: gzip
    Debug [ureq::response] Streaming body until content-length: 28672
    Debug [ureq::unit] response 200 to GET https://objects.githubusercontent.com/github-production-release-asset-2e65be/580520344/a0828d2d-7113-4581-909b-20ecc733ce7a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240515T043811Z&X-Amz-Expires=300&X-Amz-Signature=b546474b041197f050134ec7ae47417f1e958be67b5dba5da558f75dc2ae561a&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=580520344&response-content-disposition=attachment%3B%20filename%3Dnsis_tauri_utils.dll&response-content-type=application%2Foctet-stream
    Debug [ureq::pool] adding stream to pool: https|objects.githubusercontent.com|443 -> Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Info [tauri_bundler::bundle::windows::util] validating hash
    Error [tauri_cli_node] failed to bundle project: `No such file or directory (os error 2)`

Reproduction

pnpm create tauri-app --beta
...
 pnpm tauri build --runner cargo-xwin --target x86_64-pc-windows-msvc

Expected behavior

No response

Full tauri info output

[✔] Environment
    - OS: Ubuntu 22.04 X64
    ✔ webkit2gtk-4.1: 2.44.0
    ✔ rsvg2: 2.52.5
    ✔ rustc: 1.77.2 (25ef9e3d8 2024-04-09)
    ✔ cargo: 1.77.2 (e52e36006 2024-03-26)
    ✔ rustup: 1.27.0 (bbb9276d2 2024-03-08)
    ✔ Rust toolchain: stable-x86_64-unknown-linux-gnu (default)
    - node: 21.6.0
    - pnpm: 9.1.1
    - yarn: 1.22.21
    - npm: 10.2.4

[-] Packages
    - tauri [RUST]: 2.0.0-beta.19
    - tauri-build [RUST]: 2.0.0-beta.15
    - wry [RUST]: 0.39.5
    - tao [RUST]: 0.28.0
    - @tauri-apps/api [NPM]: 2.0.0-beta.11
    - @tauri-apps/cli [NPM]: 2.0.0-beta.17

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - framework: Vue.js
    - bundler: Vite

Stack trace

No response

Additional context

No response

amrbashir commented 6 months ago

Can you run with -vvv flag and post the output here?

gudaoxuri commented 6 months ago

pnpm tauri build --runner cargo-xwin --target x86_64-pc-windows-msvc -vvv

> test-app@0.0.0 tauri /home/gudaoxuri/workspaces/starsys/test-app
> tauri "build" "--runner" "cargo-xwin" "--target" "x86_64-pc-windows-msvc" "-vvv"

    Trace [mio::poll] registering event source with poller: token=Token(0), interests=READABLE
    Trace [notify::inotify] adding inotify watch: /home/gudaoxuri/workspaces/starsys/test-app/src-tauri/Cargo.toml
    Debug [globset] built glob set; 0 literals, 3 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
    Debug [globset] glob converted to regex: Glob { glob: "**/npm-debug.log*", re: "(?-u)^(?:/?|.*/)npm\\-debug\\.log[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('n'), Literal('p'), Literal('m'), Literal('-'), Literal('d'), Literal('e'), Literal('b'), Literal('u'), Literal('g'), Literal('.'), Literal('l'), Literal('o'), Literal('g'), ZeroOrMore]) }
    Debug [globset] glob converted to regex: Glob { glob: "**/yarn-debug.log*", re: "(?-u)^(?:/?|.*/)yarn\\-debug\\.log[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('y'), Literal('a'), Literal('r'), Literal('n'), Literal('-'), Literal('d'), Literal('e'), Literal('b'), Literal('u'), Literal('g'), Literal('.'), Literal('l'), Literal('o'), Literal('g'), ZeroOrMore]) }
    Debug [globset] glob converted to regex: Glob { glob: "**/yarn-error.log*", re: "(?-u)^(?:/?|.*/)yarn\\-error\\.log[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('y'), Literal('a'), Literal('r'), Literal('n'), Literal('-'), Literal('e'), Literal('r'), Literal('r'), Literal('o'), Literal('r'), Literal('.'), Literal('l'), Literal('o'), Literal('g'), ZeroOrMore]) }
    Debug [globset] glob converted to regex: Glob { glob: "**/pnpm-debug.log*", re: "(?-u)^(?:/?|.*/)pnpm\\-debug\\.log[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('p'), Literal('n'), Literal('p'), Literal('m'), Literal('-'), Literal('d'), Literal('e'), Literal('b'), Literal('u'), Literal('g'), Literal('.'), Literal('l'), Literal('o'), Literal('g'), ZeroOrMore]) }
    Debug [globset] glob converted to regex: Glob { glob: "**/lerna-debug.log*", re: "(?-u)^(?:/?|.*/)lerna\\-debug\\.log[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('l'), Literal('e'), Literal('r'), Literal('n'), Literal('a'), Literal('-'), Literal('d'), Literal('e'), Literal('b'), Literal('u'), Literal('g'), Literal('.'), Literal('l'), Literal('o'), Literal('g'), ZeroOrMore]) }
    Debug [globset] glob converted to regex: Glob { glob: ".vscode/*", re: "(?-u)^\\.vscode/[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([Literal('.'), Literal('v'), Literal('s'), Literal('c'), Literal('o'), Literal('d'), Literal('e'), Literal('/'), ZeroOrMore]) }
    Debug [globset] glob converted to regex: Glob { glob: "**/*.ntvs*", re: "(?-u)^(?:/?|.*/)[^/]*\\.ntvs[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, ZeroOrMore, Literal('.'), Literal('n'), Literal('t'), Literal('v'), Literal('s'), ZeroOrMore]) }
    Debug [globset] glob converted to regex: Glob { glob: "**/*.sw?", re: "(?-u)^(?:/?|.*/)[^/]*\\.sw[^/]$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, ZeroOrMore, Literal('.'), Literal('s'), Literal('w'), Any]) }
    Debug [globset] built glob set; 1 literals, 6 basenames, 5 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 8 regexes
    Debug [globset] built glob set; 2 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
    Debug [ignore::walk] ignoring /home/gudaoxuri/workspaces/starsys/test-app/src-tauri/.gitignore: Ignore(IgnoreMatch(Hidden))
    Debug [ignore::walk] ignoring /home/gudaoxuri/workspaces/starsys/test-app/src-tauri/gen/schemas: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/gudaoxuri/workspaces/starsys/test-app/src-tauri/.gitignore"), original: "/gen/schemas", actual: "gen/schemas", is_whitelist: false, is_only_dir: false })))
    Debug [ignore::walk] ignoring /home/gudaoxuri/workspaces/starsys/test-app/src-tauri/target: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/gudaoxuri/workspaces/starsys/test-app/src-tauri/.gitignore"), original: "/target/", actual: "target", is_whitelist: false, is_only_dir: true })))
    Running [tauri_cli::build] beforeBuildCommand `pnpm build`
    Trace [os_info::imp] linux::current_platform is called
    Trace [os_info::imp::lsb_release] lsb_release command returned Output { status: ExitStatus(unix_wait_status(0)), stdout: "Distributor ID:\tUbuntu\nDescription:\tUbuntu 22.04.4 LTS\nRelease:\t22.04\nCodename:\tjammy\n", stderr: "No LSB modules are available.\n" }
    Trace [os_info::imp::lsb_release] Trying to parse "Distributor ID:\tUbuntu\nDescription:\tUbuntu 22.04.4 LTS\nRelease:\t22.04\nCodename:\tjammy\n"
    Trace [os_info::imp::lsb_release] Parsed as 'Some("Ubuntu")' distribution and 'Some("22.04")' version
    Trace [os_info::imp] Returning Info { os_type: Ubuntu, version: Custom("22.04"), edition: None, codename: Some("jammy"), bitness: X64, architecture: Some("x86_64") }
    Debug [tauri_cli::build] Setting environment for hook {"TAURI_ENV_ARCH": "x86_64", "TAURI_ENV_PLATFORM": "windows", "TAURI_ENV_PLATFORM_VERSION": "22.04", "TAURI_ENV_TARGET_TRIPLE": "x86_64-pc-windows-msvc", "TAURI_ENV_FAMILY": "windows"}
    Running [tauri_cli] Command `sh  -c pnpm build`

> test-app@0.0.0 build /home/gudaoxuri/workspaces/starsys/test-app
> vue-tsc --noEmit && vite build

vite v5.2.11 building for production...
✓ 20 modules transformed.
dist/index.html                  0.46 kB │ gzip:  0.30 kB
dist/assets/index-BNZBj5Gh.css   1.40 kB │ gzip:  0.66 kB
dist/assets/index-CK1vKCM9.js   57.49 kB │ gzip: 23.30 kB
✓ built in 457ms
    Running [tauri_cli] Command `cargo-xwin  build --bins --features tauri/custom-protocol,tauri/native-tls --release --target x86_64-pc-windows-msvc`
warning: test-app@0.0.0: clang: warning: unknown argument ignored in clang-cl: '-xc' [-Wunknown-argument]
   Compiling test-app v0.0.0 (/home/gudaoxuri/workspaces/starsys/test-app/src-tauri)
    Finished release [optimized] target(s) in 10.39s
    Warn [tauri_bundler::bundle] Cross-platform compilation is experimental and does not support all features. Please use a matching host system for full compatibility.
    Warn [tauri_bundler::bundle] ignoring msi
    Info [tauri_bundler::bundle::windows::nsis] Verifying NSIS package
    Downloading [tauri_bundler::bundle::windows::util] https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.3.0/nsis_tauri_utils.dll
    Debug [ureq::stream] connecting to github.com:443 at 20.205.243.166:443
    Debug [rustls::client::hs] No cached session for DnsName("github.com")
    Debug [rustls::client::hs] Not resuming any session
    Trace [rustls::client::hs] Sending ClientHello Message {
    version: TLSv1_0,
    payload: Handshake {
        parsed: HandshakeMessagePayload {
            typ: ClientHello,
            payload: ClientHello(
                ClientHelloPayload {
                    client_version: TLSv1_2,
                    random: 522e8d473e68aef7b04fc81861d361986b2db3d0b572e396d03f97f70f53615c,
                    session_id: 5358d67b0e834d604c9a4b1be8908598549381f0a7c89b4640b5a63ec3f997b5,
                    cipher_suites: [
                        TLS13_AES_256_GCM_SHA384,
                        TLS13_AES_128_GCM_SHA256,
                        TLS13_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
                    ],
                    compression_methods: [
                        Null,
                    ],
                    extensions: [
                        SupportedVersions(
                            [
                                TLSv1_3,
                                TLSv1_2,
                            ],
                        ),
                        EcPointFormats(
                            [
                                Uncompressed,
                            ],
                        ),
                        NamedGroups(
                            [
                                X25519,
                                secp256r1,
                                secp384r1,
                            ],
                        ),
                        SignatureAlgorithms(
                            [
                                ECDSA_NISTP384_SHA384,
                                ECDSA_NISTP256_SHA256,
                                ED25519,
                                RSA_PSS_SHA512,
                                RSA_PSS_SHA384,
                                RSA_PSS_SHA256,
                                RSA_PKCS1_SHA512,
                                RSA_PKCS1_SHA384,
                                RSA_PKCS1_SHA256,
                            ],
                        ),
                        ExtendedMasterSecretRequest,
                        CertificateStatusRequest(
                            Ocsp(
                                OcspCertificateStatusRequest {
                                    responder_ids: [],
                                    extensions: ,
                                },
                            ),
                        ),
                        ServerName(
                            [
                                ServerName {
                                    typ: HostName,
                                    payload: HostName(
                                        DnsName(
                                            "github.com",
                                        ),
                                    ),
                                },
                            ],
                        ),
                        KeyShare(
                            [
                                KeyShareEntry {
                                    group: X25519,
                                    payload: 96ecd357b300f532150c85c1c53bb775456156c909ecae6e6f9cb278cda2113c,
                                },
                            ],
                        ),
                        PresharedKeyModes(
                            [
                                PSK_DHE_KE,
                            ],
                        ),
                        SessionTicket(
                            Request,
                        ),
                    ],
                },
            ),
        },
        encoded: 010000e40303522e8d473e68aef7b04fc81861d361986b2db3d0b572e396d03f97f70f53615c205358d67b0e834d604c9a4b1be8908598549381f0a7c89b4640b5a63ec3f997b50014130213011303c02cc02bcca9c030c02fcca800ff01000087002b00050403040303000b00020100000a00080006001d00170018000d00140012050304030807080608050804060105010401001700000005000501000000000000000f000d00000a6769746875622e636f6d003300260024001d002096ecd357b300f532150c85c1c53bb775456156c909ecae6e6f9cb278cda2113c002d0002010100230000,
    },
}
    Trace [rustls::client::hs] We got ServerHello ServerHelloPayload {
    legacy_version: TLSv1_2,
    random: 9a21322ec93547876c0f5183e3a1f51c08ceab86aa52dd78fb142d346fde9563,
    session_id: 5358d67b0e834d604c9a4b1be8908598549381f0a7c89b4640b5a63ec3f997b5,
    cipher_suite: TLS13_AES_128_GCM_SHA256,
    compression_method: Null,
    extensions: [
        SupportedVersions(
            TLSv1_3,
        ),
        KeyShare(
            KeyShareEntry {
                group: X25519,
                payload: cf5cd9383698d6b1699adfa7e2750c9b88d3e59c4d6299f8961a88f5f95fbd4c,
            },
        ),
    ],
}
    Debug [rustls::client::hs] Using ciphersuite TLS13_AES_128_GCM_SHA256
    Debug [rustls::client::tls13] Not resuming
    Trace [rustls::client::client_conn] EarlyData rejected
    Trace [rustls::conn] Dropping CCS
    Debug [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck]
    Debug [rustls::client::hs] ALPN protocol is None
    Trace [rustls::client::tls13] Server cert is CertificateChain([CertificateDer(0x308204a330820449a00302010202104e28f786b66c1a3b942cd2c40eb742a5300a06082a8648ce3d04030230818f310b3009060355040613024742311b30190603550408131247726561746572204d616e636865737465723110300e0603550407130753616c666f726431183016060355040a130f5365637469676f204c696d69746564313730350603550403132e5365637469676f2045434320446f6d61696e2056616c69646174696f6e2053656375726520536572766572204341301e170d3234303330373030303030305a170d3235303330373233353935395a3015311330110603550403130a6769746875622e636f6d3059301306072a8648ce3d020106082a8648ce3d03010703420004044efc7a3d5dd918d6a87d9808233949169974dbd398e046e94a72231506e281dd91dec6f09dca888244710c05f157a1985691054ca2034ba3f956db5e57de91a38202fe308202fa301f0603551d23041830168014f6850a3b1186e1047d0eaa0b2cd2eecc647b7bae301d0603551d0e041604143b683f343af54734caefa64e3d9abd5e6e7acc9f300e0603551d0f0101ff040403020780300c0603551d130101ff04023000301d0603551d250416301406082b0601050507030106082b0601050507030230490603551d20044230403034060b2b06010401b231010202073025302306082b06010505070201161768747470733a2f2f7365637469676f2e636f6d2f4350533008060667810c01020130818406082b0601050507010104783076304f06082b060105050730028643687474703a2f2f6372742e7365637469676f2e636f6d2f5365637469676f454343446f6d61696e56616c69646174696f6e53656375726553657276657243412e637274302306082b060105050730018617687474703a2f2f6f6373702e7365637469676f2e636f6d30820180060a2b06010401d679020402048201700482016c016a007700cf1156eed52e7caff3875bd9692e9be91a71674ab017ecac01d25b77cecc3b080000018e163af0190000040300483046022100fba0dcffda83bc5466965abaabb01401cd01f485184c2e6d75a1e3298357cd6b022100a59cd2aed9fa6c4355857fea8bfb7ff8b41ff680707482222fd025c102ada3a9007600a2e30ae445efbdad9b7e38ed47677753d7825b8494d72b5e1b2cc4b950a447e70000018e163aeff80000040300473045022100caea4421500c93473c05556917441b8ac7e8130cb9c4940a40e7bc12f314e16f0220600822ece3c411651e992a72c6bb519cb6e32fc1eb166792d530fcd7b9ab98420077004e75a3275c9a10c3385b6cd4df3f52eb1df0e08e1b8d69c0b1fa64b1629a39df0000018e163aeff70000040300483046022100fbc3af433a6045fdf5b8b06c084f24b4251fbec8914fbcd64aa797962034f535022100dc07b5e7f7b6840cc04a5c86dd9b9299f468ef472a05f6c903e7fe069dea0c5b30250603551d11041e301c820a6769746875622e636f6d820e7777772e6769746875622e636f6d300a06082a8648ce3d0403020348003045022100aeed8c70faf478dc1c58db83118d1afeb1b35d17d1ae6fba5df65e4b385865ec02201ab84d41010a06a9bfbc6f02d44a755762fdbe26dfa5327a3d6083226c89eb00), CertificateDer(0x308203a83082032ea003020102021100f3644e6b6e0050237e0946bd7be1f51d300a06082a8648ce3d040303308188310b3009060355040613025553311330110603550408130a4e6577204a6572736579311430120603550407130b4a65727365792043697479311e301c060355040a131554686520555345525452555354204e6574776f726b312e302c06035504031325555345525472757374204543432043657274696669636174696f6e20417574686f72697479301e170d3138313130323030303030305a170d3330313233313233353935395a30818f310b3009060355040613024742311b30190603550408131247726561746572204d616e636865737465723110300e0603550407130753616c666f726431183016060355040a130f5365637469676f204c696d69746564313730350603550403132e5365637469676f2045434320446f6d61696e2056616c69646174696f6e20536563757265205365727665722043413059301306072a8648ce3d020106082a8648ce3d03010703420004791893ca9f6d9e6c57002305370b5f0f585ac4de7f55a3e91ed6d9250a88a0204a1d7a4f05308a6349138c64210795fd3a35e14ace90f018f73daf68a6fbd448a382016e3082016a301f0603551d230418301680143ae10986d4cf19c29676744976dce035c663639a301d0603551d0e04160414f6850a3b1186e1047d0eaa0b2cd2eecc647b7bae300e0603551d0f0101ff04040302018630120603551d130101ff040830060101ff020100301d0603551d250416301406082b0601050507030106082b06010505070302301b0603551d200414301230060604551d20003008060667810c01020130500603551d1f044930473045a043a041863f687474703a2f2f63726c2e7573657274727573742e636f6d2f55534552547275737445434343657274696669636174696f6e417574686f726974792e63726c307606082b06010505070101046a3068303f06082b060105050730028633687474703a2f2f6372742e7573657274727573742e636f6d2f555345525472757374454343416464547275737443412e637274302506082b060105050730018619687474703a2f2f6f6373702e7573657274727573742e636f6d300a06082a8648ce3d040303036800306502304be7c7715cb15c096d9a42605f73e9f0d626d4b551546c712d1c85604d28f14da6f0ca76b74a45efa8024af68d4fae6e023100e0e1792af65e1700ee8cfd1e679d19d32196b77de13a0a15b665fbf3a7145cea9ef3a17231ef0a510211070a99cf1f98), CertificateDer(0x308203d3308202bba003020102021056671d04ea4f994c6f10814759d27594300d06092a864886f70d01010c0500307b310b3009060355040613024742311b301906035504080c1247726561746572204d616e636865737465723110300e06035504070c0753616c666f7264311a3018060355040a0c11436f6d6f646f204341204c696d697465643121301f06035504030c18414141204365727469666963617465205365727669636573301e170d3139303331323030303030305a170d3238313233313233353935395a308188310b3009060355040613025553311330110603550408130a4e6577204a6572736579311430120603550407130b4a65727365792043697479311e301c060355040a131554686520555345525452555354204e6574776f726b312e302c06035504031325555345525472757374204543432043657274696669636174696f6e20417574686f726974793076301006072a8648ce3d020106052b81040022036200041aac545aa9f96823e77ad5246f53c65ad84babc6d5b6d1e67371aedd9cd60c61fddba08903b80514ec57ceee5d3fe221b3cef7d48a79e0a3837e2d97d061c4f199dc259163ab7f30a3b470e2c7a1339cf3bf2e5c53b15fb37d327f8a34e37979a381f23081ef301f0603551d23041830168014a0110a233e96f107ece2af29ef82a57fd030a4b4301d0603551d0e041604143ae10986d4cf19c29676744976dce035c663639a300e0603551d0f0101ff040403020186300f0603551d130101ff040530030101ff30110603551d20040a300830060604551d200030430603551d1f043c303a3038a036a0348632687474703a2f2f63726c2e636f6d6f646f63612e636f6d2f414141436572746966696361746553657276696365732e63726c303406082b0601050507010104283026302406082b060105050730018618687474703a2f2f6f6373702e636f6d6f646f63612e636f6d300d06092a864886f70d01010c0500038201010019eceb9d892c200b04801d18de429972991632bd0e9c755b2c15e229406deeff72dbdbab901f8c95f28a3d087242895007e239156c0187d9161af5c0752bc5e6561107dfd898bc7c9f1939df8bca006473bc46109b93238dbe16c32e08829c863374763b284c8d034285b3e2b22342d51f7a756a1ad17caa6721c4333a396d53c9a2ed6222a8bbe2556c996c436b9197d10c0b93021dd2bc697749e61b4df7bf147803b0a6ba0bb4e1857f2fdc423bad740148ded66ce11998095e0ab36747fe1ce0d5c128ef4a8b44312604378d8974362eefa5220f83744992c7f710c20c29fbb7bdba7fe35fd59ff2a9f474d5b8e1b3b081e4e1a563a3ccea0478906ebff7)])
    Debug [ureq::stream] created stream: Stream(RustlsStream)
    Debug [ureq::unit] sending request GET https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.3.0/nsis_tauri_utils.dll
    Debug [ureq::unit] writing prelude: GET /tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.3.0/nsis_tauri_utils.dll HTTP/1.1
Host: github.com
User-Agent: ureq/2.9.6
Accept: */*
accept-encoding: gzip
    Debug [ureq::response] zero-length body returning stream directly to pool
    Debug [ureq::pool] adding stream to pool: https|github.com|443 -> Stream(RustlsStream)
    Debug [ureq::unit] response 302 to GET https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.3.0/nsis_tauri_utils.dll
    Debug [ureq::unit] redirect 302 https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.3.0/nsis_tauri_utils.dll -> https://objects.githubusercontent.com/github-production-release-asset-2e65be/580520344/a0828d2d-7113-4581-909b-20ecc733ce7a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240515T233203Z&X-Amz-Expires=300&X-Amz-Signature=82b4de410e751c84119158f3b886c6748288b7c1c07744d388f72d3ca6015cd2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=580520344&response-content-disposition=attachment%3B%20filename%3Dnsis_tauri_utils.dll&response-content-type=application%2Foctet-stream
    Debug [ureq::stream] connecting to objects.githubusercontent.com:443 at 185.199.111.133:443
    Debug [rustls::client::hs] No cached session for DnsName("objects.githubusercontent.com")
    Debug [rustls::client::hs] Not resuming any session
    Trace [rustls::client::hs] Sending ClientHello Message {
    version: TLSv1_0,
    payload: Handshake {
        parsed: HandshakeMessagePayload {
            typ: ClientHello,
            payload: ClientHello(
                ClientHelloPayload {
                    client_version: TLSv1_2,
                    random: c981e7273f7557f253a37d21f5bb63d01b0f5161e58a55a3e74f9466db79ea20,
                    session_id: cc7468b27c507153aff265e5c94d7d91e2bcbfdc652730aa9896038a53a6e244,
                    cipher_suites: [
                        TLS13_AES_256_GCM_SHA384,
                        TLS13_AES_128_GCM_SHA256,
                        TLS13_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
                    ],
                    compression_methods: [
                        Null,
                    ],
                    extensions: [
                        SupportedVersions(
                            [
                                TLSv1_3,
                                TLSv1_2,
                            ],
                        ),
                        EcPointFormats(
                            [
                                Uncompressed,
                            ],
                        ),
                        NamedGroups(
                            [
                                X25519,
                                secp256r1,
                                secp384r1,
                            ],
                        ),
                        SignatureAlgorithms(
                            [
                                ECDSA_NISTP384_SHA384,
                                ECDSA_NISTP256_SHA256,
                                ED25519,
                                RSA_PSS_SHA512,
                                RSA_PSS_SHA384,
                                RSA_PSS_SHA256,
                                RSA_PKCS1_SHA512,
                                RSA_PKCS1_SHA384,
                                RSA_PKCS1_SHA256,
                            ],
                        ),
                        ExtendedMasterSecretRequest,
                        CertificateStatusRequest(
                            Ocsp(
                                OcspCertificateStatusRequest {
                                    responder_ids: [],
                                    extensions: ,
                                },
                            ),
                        ),
                        ServerName(
                            [
                                ServerName {
                                    typ: HostName,
                                    payload: HostName(
                                        DnsName(
                                            "objects.githubusercontent.com",
                                        ),
                                    ),
                                },
                            ],
                        ),
                        KeyShare(
                            [
                                KeyShareEntry {
                                    group: X25519,
                                    payload: 811025b186d1b3a7f13d3ccbf1860c8186da7fd11b0fc9dcfaecca74c9ff3128,
                                },
                            ],
                        ),
                        PresharedKeyModes(
                            [
                                PSK_DHE_KE,
                            ],
                        ),
                        SessionTicket(
                            Request,
                        ),
                    ],
                },
            ),
        },
        encoded: 010000f70303c981e7273f7557f253a37d21f5bb63d01b0f5161e58a55a3e74f9466db79ea2020cc7468b27c507153aff265e5c94d7d91e2bcbfdc652730aa9896038a53a6e2440014130213011303c02cc02bcca9c030c02fcca800ff0100009a002b00050403040303000b00020100000a00080006001d00170018000d001400120503040308070806080508040601050104010017000000050005010000000000000022002000001d6f626a656374732e67697468756275736572636f6e74656e742e636f6d003300260024001d0020811025b186d1b3a7f13d3ccbf1860c8186da7fd11b0fc9dcfaecca74c9ff3128002d0002010100230000,
    },
}
    Trace [rustls::client::hs] We got ServerHello ServerHelloPayload {
    legacy_version: TLSv1_2,
    random: 4dd8e5cb807e49fdb2134300c1e0fcc9e3573607990c3abba0154d9110201289,
    session_id: cc7468b27c507153aff265e5c94d7d91e2bcbfdc652730aa9896038a53a6e244,
    cipher_suite: TLS13_AES_128_GCM_SHA256,
    compression_method: Null,
    extensions: [
        SupportedVersions(
            TLSv1_3,
        ),
        KeyShare(
            KeyShareEntry {
                group: X25519,
                payload: f2656fc696fd4013f4eec0be9f4a5903b44ed1f6abc52d30fa70a23a8469b17e,
            },
        ),
    ],
}
    Debug [rustls::client::hs] Using ciphersuite TLS13_AES_128_GCM_SHA256
    Debug [rustls::client::tls13] Not resuming
    Trace [rustls::client::client_conn] EarlyData rejected
    Trace [rustls::conn] Dropping CCS
    Debug [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck]
    Debug [rustls::client::hs] ALPN protocol is None
    Trace [rustls::client::tls13] Server cert is CertificateChain([CertificateDer(0x3082073930820621a0030201020210063d4917404d39e513cb3feecd1b2e1b300d06092a864886f70d01010b05003059310b300906035504061302555331153013060355040a130c446967694365727420496e63313330310603550403132a446967694365727420476c6f62616c20473220544c532052534120534841323536203230323020434131301e170d3234303331353030303030305a170d3235303331343233353935395a3067310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d53616e204672616e636973636f31153013060355040a130c4769744875622c20496e632e3114301206035504030c0b2a2e6769746875622e696f30820122300d06092a864886f70d01010105000382010f003082010a0282010100ad2b14a53a4c41afb8b098dd93ae5e51bede37ab0fa10fd60735a9edf983af05ab21ae54f39475d60d662ca68d8319c72c28369deac656c51414dff5eb6c6b26af4feb96fb650c8ea0a8b4074a2a270112ca6e131a00085b8d8138bbb12513ec0e79fa4e3ffb93be56da5ac50e5d99093b1f172abcc631e68c0153e7c1c180c3fa15de83762fc4b64d78894df0e96a58bf30f476c6fb771c7a05448ce2506e4adcad6ec840cab6524f765e3c483e631522f69e7ea702d69a0662f4b856f121df1eb8bc92b584433860b30a05a13f86a16d70ca338be1fff09a9309fccf4219eedb51c8a29f6b4ae731c6765b7bd01e1f3d8b111a544dfdeb8e038c83d3c1d5150203010001a38203ed308203e9301f0603551d23041830168014748580c066c7df37decfbd2937aa031dbeedcd17301d0603551d0e04160414e86f57eb865198eb9fa5be53dadb94ac282efbed307b0603551d1104743072820b2a2e6769746875622e696f82096769746875622e696f821567697468756275736572636f6e74656e742e636f6d820e7777772e6769746875622e636f6d820c2a2e6769746875622e636f6d82172a2e67697468756275736572636f6e74656e742e636f6d820a6769746875622e636f6d303e0603551d20043730353033060667810c0102023029302706082b06010505070201161b687474703a2f2f7777772e64696769636572742e636f6d2f435053300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b0601050507030230819f0603551d1f0481973081943048a046a0448642687474703a2f2f63726c332e64696769636572742e636f6d2f4469676943657274476c6f62616c4732544c53525341534841323536323032304341312d312e63726c3048a046a0448642687474703a2f2f63726c342e64696769636572742e636f6d2f4469676943657274476c6f62616c4732544c53525341534841323536323032304341312d312e63726c30818706082b06010505070101047b3079302406082b060105050730018618687474703a2f2f6f6373702e64696769636572742e636f6d305106082b060105050730028645687474703a2f2f636163657274732e64696769636572742e636f6d2f4469676943657274476c6f62616c4732544c53525341534841323536323032304341312d312e637274300c0603551d130101ff040230003082017f060a2b06010401d6790204020482016f0482016b01690076004e75a3275c9a10c3385b6cd4df3f52eb1df0e08e1b8d69c0b1fa64b1629a39df0000018e437cf6800000040300473045022053f339dbb59cc74290dc823b902b86e5632e387452c4a91fd7102326e4a4c8f0022100955f4baeadc200d9483b8a934dd92d59ca0ba45aa24287b863207d17b2b5e1f10076007d591e12e1782a7b1c61677c5efdf8d0875c14a04e959eb9032fd90e8c2e79b80000018e437cf681000004030047304502200b1a4b0436a4f9358a6abac21e5667e0396ac047c037796f9604a8db51d0b94f022100e272b6fbd9cd25036b2e3163d64fdd8f14b691bc5ac59fd1d5cc8e95879d1866007700e6d2316340778cc1104106d771b9cec1d240f6968486fbba87321dfd1e378e500000018e437cf6940000040300483046022100f2505f8400ac50a3334b0a2b3b162e6aa6994f25321284611d9381eb35010c90022100d98dd584fe511be75aa5c6f062055bad39605b33bb284fe5835c75d4255ccf74300d06092a864886f70d01010b0500038201010072a5bf339b241c718322da50d08415fdfb98d16c52d5e6696be499c7c8b7d57e4d9ed09adbe3c796ec77996a01f969fdeaa4e3e258a6761c296ad97ccfef31dc4f4137a1fd54167b063f8589fa5ff575b3624832d8ea1245b86a8b557568c756fb31e2b023cf9bedb9bff055882dad4f23bac1f74d5a53f7fd00a0584a1399b6212ecc220ef0291f830f1a0d8f87c5165bb1b5e54d81bb70b8971bdb7364050a9f1d70af416ab15d9640e0dc25fd6a063e8186756e6a54e73706586d2135b9dc04b286f282ec702b863ecbc101fc0bf751827d5a8081cff6f549d4d6999cf5e12bdf13a21bfef8e3b413f17f6d518d5959cb050e2fe4f8d0cd14144c6bccda65), CertificateDer(0x308204c8308203b0a00302010202100cf5bd062b5602f47ab8502c23ccf066300d06092a864886f70d01010b05003061310b300906035504061302555331153013060355040a130c446967694365727420496e6331193017060355040b13107777772e64696769636572742e636f6d3120301e06035504031317446967694365727420476c6f62616c20526f6f74204732301e170d3231303333303030303030305a170d3331303332393233353935395a3059310b300906035504061302555331153013060355040a130c446967694365727420496e63313330310603550403132a446967694365727420476c6f62616c20473220544c53205253412053484132353620323032302043413130820122300d06092a864886f70d01010105000382010f003082010a0282010100ccf710624fa6bb636fed905256c56d277b7a12568af1f4f9d6e7e18fbd95abf260411570db1200fa270ab557385b7db2519371950e6a41945b351bfa7bfabbc5be2430fe56efc4f37d97e314f5144dcba710f216eaab22f031221161699026ba78d9971fe37d66ab75449573c8acffef5d0a8a5943e1acb23a0ff348fcd76b37c163dcde46d6db45fe7d23fd90e851071e51a35fed4946547f2c88c5f4139c97153c03e8a139dc690c32c1af16574c9447427ca2c89c7de6d44d54af4299a8c104c2779cd648e4ce11e02a8099f04370cf3f766bd14c49ab245ec20d82fd46a8ab6c93cc6252427592f89afa5e5eb2b061e51f1fb97f0998e83dfa837f4769a10203010001a38201823082017e30120603551d130101ff040830060101ff020100301d0603551d0e04160414748580c066c7df37decfbd2937aa031dbeedcd17301f0603551d230418301680144e2254201895e6e36ee60ffafab912ed06178f39300e0603551d0f0101ff040403020186301d0603551d250416301406082b0601050507030106082b06010505070302307606082b06010505070101046a3068302406082b060105050730018618687474703a2f2f6f6373702e64696769636572742e636f6d304006082b060105050730028634687474703a2f2f636163657274732e64696769636572742e636f6d2f4469676943657274476c6f62616c526f6f7447322e63727430420603551d1f043b30393037a035a0338631687474703a2f2f63726c332e64696769636572742e636f6d2f4469676943657274476c6f62616c526f6f7447322e63726c303d0603551d2004363034300b06096086480186fd6c02013007060567810c01013008060667810c0102013008060667810c0102023008060667810c010203300d06092a864886f70d01010b0500038201010090f170cb289769977c74fdc0fa267b53abadcd65fdba9c069c8ad75a4387ed4d4c565fadc1c5b505202e59d1ff4af5a02ad8b095adc92e4a3bd7a7f66f8829fc303f2484bbc3b77b93072caf876b7633ed005552b2599ee4b9d0f3dfe70ffeddf8c4b910728109045fcf979e2e32758ecf9a58d257317e370181b2666d291ab166096dd16e90f4b9fa2f0114c55c566401d97d87a838539f8b5d466d5cc6278481d47e8c8ca39b52e7c688ec377c2afbf0555a387210d80013cf4c73dbaa3735a82981699c76bcde187b90d4cacfef6703fd045a2116b1ffea3fdfdc82f5ebf45992230d242a95254ccaa191e6d4b7ac8774b3f16da399dbf9d5bd84409f0798)])
    Trace [rustls::webpki::server_verifier] Unvalidated OCSP response: [48, 130, 1, 211, 10, 1, 0, 160, 130, 1, 204, 48, 130, 1, 200, 6, 9, 43, 6, 1, 5, 5, 7, 48, 1, 1, 4, 130, 1, 185, 48, 130, 1, 181, 48, 129, 158, 162, 22, 4, 20, 116, 133, 128, 192, 102, 199, 223, 55, 222, 207, 189, 41, 55, 170, 3, 29, 190, 237, 205, 23, 24, 15, 50, 48, 50, 52, 48, 53, 48, 57, 49, 52, 49, 57, 48, 50, 90, 48, 115, 48, 113, 48, 73, 48, 9, 6, 5, 43, 14, 3, 2, 26, 5, 0, 4, 20, 167, 196, 184, 179, 220, 91, 181, 88, 30, 167, 215, 241, 58, 197, 105, 245, 111, 72, 215, 137, 4, 20, 116, 133, 128, 192, 102, 199, 223, 55, 222, 207, 189, 41, 55, 170, 3, 29, 190, 237, 205, 23, 2, 16, 6, 61, 73, 23, 64, 77, 57, 229, 19, 203, 63, 238, 205, 27, 46, 27, 128, 0, 24, 15, 50, 48, 50, 52, 48, 53, 48, 57, 49, 52, 48, 51, 48, 49, 90, 160, 17, 24, 15, 50, 48, 50, 52, 48, 53, 49, 54, 49, 51, 48, 51, 48, 49, 90, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 3, 130, 1, 1, 0, 55, 246, 156, 131, 39, 23, 99, 87, 135, 226, 84, 238, 109, 105, 149, 32, 92, 164, 128, 97, 220, 163, 173, 207, 138, 244, 112, 229, 84, 253, 59, 48, 3, 75, 229, 232, 138, 195, 98, 72, 181, 195, 120, 95, 125, 37, 177, 233, 193, 162, 241, 11, 29, 34, 26, 220, 228, 75, 234, 47, 40, 34, 198, 54, 50, 176, 54, 165, 35, 194, 64, 166, 184, 23, 82, 151, 0, 212, 165, 61, 15, 231, 41, 51, 235, 44, 15, 132, 0, 190, 166, 225, 239, 31, 108, 167, 167, 170, 95, 203, 95, 254, 194, 130, 25, 65, 91, 46, 170, 60, 155, 15, 226, 74, 117, 197, 186, 4, 27, 112, 3, 68, 64, 148, 228, 224, 173, 214, 189, 9, 254, 216, 171, 13, 134, 230, 26, 93, 99, 40, 150, 17, 112, 116, 152, 208, 219, 56, 112, 182, 213, 118, 235, 89, 224, 197, 87, 30, 250, 152, 141, 213, 196, 146, 228, 248, 199, 105, 117, 71, 131, 77, 53, 115, 240, 174, 77, 51, 177, 34, 203, 76, 167, 229, 39, 135, 132, 176, 83, 215, 28, 189, 217, 138, 60, 116, 161, 246, 28, 128, 60, 86, 59, 42, 224, 99, 248, 77, 162, 252, 246, 60, 132, 231, 155, 207, 10, 34, 120, 71, 238, 137, 112, 2, 224, 197, 74, 240, 128, 193, 123, 170, 119, 203, 92, 131, 211, 129, 11, 104, 112, 183, 240, 86, 177, 21, 107, 231, 63, 126, 199, 127, 120, 116, 86, 96]
    Debug [ureq::stream] created stream: Stream(RustlsStream)
    Debug [ureq::unit] sending request GET https://objects.githubusercontent.com/github-production-release-asset-2e65be/580520344/a0828d2d-7113-4581-909b-20ecc733ce7a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240515T233203Z&X-Amz-Expires=300&X-Amz-Signature=82b4de410e751c84119158f3b886c6748288b7c1c07744d388f72d3ca6015cd2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=580520344&response-content-disposition=attachment%3B%20filename%3Dnsis_tauri_utils.dll&response-content-type=application%2Foctet-stream
    Debug [ureq::unit] writing prelude: GET /github-production-release-asset-2e65be/580520344/a0828d2d-7113-4581-909b-20ecc733ce7a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240515T233203Z&X-Amz-Expires=300&X-Amz-Signature=82b4de410e751c84119158f3b886c6748288b7c1c07744d388f72d3ca6015cd2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=580520344&response-content-disposition=attachment%3B%20filename%3Dnsis_tauri_utils.dll&response-content-type=application%2Foctet-stream HTTP/1.1
Host: objects.githubusercontent.com
User-Agent: ureq/2.9.6
Accept: */*
accept-encoding: gzip
    Debug [ureq::response] Streaming body until content-length: 28672
    Debug [ureq::unit] response 200 to GET https://objects.githubusercontent.com/github-production-release-asset-2e65be/580520344/a0828d2d-7113-4581-909b-20ecc733ce7a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240515T233203Z&X-Amz-Expires=300&X-Amz-Signature=82b4de410e751c84119158f3b886c6748288b7c1c07744d388f72d3ca6015cd2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=580520344&response-content-disposition=attachment%3B%20filename%3Dnsis_tauri_utils.dll&response-content-type=application%2Foctet-stream
    Debug [ureq::pool] adding stream to pool: https|objects.githubusercontent.com|443 -> Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Info [tauri_bundler::bundle::windows::util] validating hash
    Error [tauri_cli_node] failed to bundle project: `No such file or directory (os error 2)`
 ELIFECYCLE  Command failed with exit code 1.
teliosdev commented 5 months ago

I ran into this issue earlier, and there were two things that lead to this exact error, for me at least:

  1. When downloading and installing the NSIS plugin (nsis_tauri_utils.dll), it is placed underneath $XDG_CACHE_HOME/tauri/NSIS/Plugins/x86-unicode, but the folders leading up to that are not created before writing here, causing this error. Manually downloading the file (and verifying the hash) into that folder bypasses this part, as it does check for its existence before attempting to download.
  2. When estimating the size in generate_estimated_size, it attempts to retrieve the metadata of the provided files; however, for some reason, the file on-disk was capitalized (e.g. Foo.exe), but the path it was attempting to check was not (foo.exe). As my filesystem is case sensitive, this would result in this error. I bypassed this by changing the productName in my tauri.conf.json to the lowercase version (e.g., foo).
amrbashir commented 5 months ago

I think this got sneakily fixed in https://github.com/tauri-apps/tauri/pull/9865 and will be available in the next release.