Paket fails to install nugets with paths longer than MAX_PATH
See original GitHub issueDescription
paket restore fails with PathTooLong when installing the package runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl. This package is included by NETStandard.Library package
This bug seems to have been addressed in #949 but this seems another use case that is not handled correctly.
Repro steps
-
Create an empty project in a directory path long enough eg: C:\longomatch-build_windows_windows_x86\sources\windows_x86\lm-protected-git-master\
-
Create a packet.dependencies with the package NETStandard.Library
-
Run paket install
Expected behavior
The command detects that the path is too long and shortens the package ID
Actual behavior
The command fails with PathTooLong
Known workarounds
None
Logs
` Paket version 5.113.1 paket.local override: nuget Couchbase.Lite.LM group Main -> /vas-nightly_windows_windows_x86/dist/windows_x86/share/nuget paket.local override: nuget Couchbase.Lite.Storage.SystemSQLite.LM group Main -> /vas-nightly_windows_windows_x86/dist/windows_x86/share/nuget paket.local override: nuget Sparkle group Main -> /vas-nightly_windows_windows_x86/dist/windows_x86/share/nuget paket.local override: nuget WebKit group Main -> /vas-nightly_windows_windows_x86/dist/windows_x86/share/nuget paket.local override: nuget Wibu group Main -> /vas-nightly_windows_windows_x86/dist/windows_x86/share/nuget paket.local override: nuget EPPlus.LM group Main -> /vas-nightly_windows_windows_x86/dist/windows_x86/share/nuget Something went wrong while downloading runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Message: Path too long: z:\longomatch-build_windows_windows_x86\sources\windows_x86\lm-protected-git-master\packages\runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.1.nupkg ==> Trying again Something went wrong while downloading runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Message: Path too long: z:\longomatch-build_windows_windows_x86\sources\windows_x86\lm-protected-git-master\packages\runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.1.nupkg ==> Trying again Downloading runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Downloading runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Something went wrong while downloading runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Message: Path too long: z:\longomatch-build_windows_windows_x86\sources\windows_x86\lm-protected-git-master\packages\runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.1.nupkg ==> Last trial Downloading runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Something went wrong while downloading runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Message: Path too long: z:\longomatch-build_windows_windows_x86\sources\windows_x86\lm-protected-git-master\packages\runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.1.nupkg ==> Last trial Downloading runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.1 Performance:
- Disk IO: 1 minute, 52 seconds
- Average Download Time: 560 milliseconds
- Number of downloads: 4
- Average Request Time: 901 milliseconds
- Number of Requests: 4
- Runtime: 33 seconds Paket failed with -> PathTooLongException: Path too long: z:\longomatch-build_windows_windows_x86\sources\windows_x86\lm-protected-git-master\packages\runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.1.nupkg -> PathTooLongException: Path too long: z:\longomatch-build_windows_windows_x86\sources\windows_x86\lm-protected-git-master\packages\runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.1.nupkg -> PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. make[3]: *** [restore] Error 1 `
Issue Analytics
- State:
- Created 6 years ago
- Reactions:3
- Comments:13 (3 by maintainers)
Top GitHub Comments
Is this problem related to the .NET framework used ? In this case, using .NET framework version >= 4.6.2 should solve this, as MAX_PATH limitation seems to be finally fixed.
Thanks for the advice! I’m targeting .NET 5, soon to be .NET 6, with no odd custom references, so this worked just fine for me.