You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Paket exe can't handle paths that are longer than 260 characters. #949
Between version 1.19.6 and 1.19.7 Paket became unable to handle paths longer than 260 characters. any paket operation, whether via command line or VS integration, blows up with a PathTooLongException now in a solution we have that is a web app, and so has very long nested node_modules directories.
Paket failed with: 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. StackTrace: at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths) at System.IO.Path.GetDirectoryName(String path) at System.IO.FileSystemEnumerableIterator1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler1 resultHandler, Boolean checkHost) at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)
at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Paket.ProjectFile.FindAllProjects(String folder) at Paket.InstallProcess.findAllReferencesFiles(String root) at Paket.UpdateProcess.SmartInstall(String dependenciesFileName, Boolean updateAll, FSharpOption1 exclude, UpdaterOptions options)
at <StartupCode$Paket-Core>.$PublicAPI.Install@156.Invoke(Unit unitVar0)
at Paket.Utils.RunInLockedAccessMode[a](String rootFolder, FSharpFunc2 action) at Paket.Program.handler@280-10.Invoke(ArgParseResults1 results)
at Paket.Program.processWithValidation[T](FSharpFunc2 validateF, FSharpFunc2 commandF, Command command, String[] args)
at Paket.Program.processCommand@71-1.Invoke(Command command, String[] args)
at Paket.Program.main()`
+1 When it does find all refs is it scanning all the folders? Just wondering as I have a 'master' folder in my repo which isnt part of the solution, in there is some frontend crap for gulp that handles live reload etc; It's only the npm folder in here that exceeds the win limit (mostly caused by lodash dependencies). But I wouldn't expect Paket to be looking at anything thats not in SLN/CSProj
I still get the issue especially with the new core libs which have really long name like
runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl
Reacted by Grzegorz Dziadkiewicz, Alex Polozov, Manfred Endres, jefflequeux and Daniel Del Balso
The PathTooLong Exception is still happening Paket failed with: -> 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.
Activity
baronfel commentedon Jul 31, 2015
Detailed stack trace:
Paket failed with: 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. StackTrace: at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths) at System.IO.Path.GetDirectoryName(String path) at System.IO.FileSystemEnumerableIterator1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler1 resultHandler, Boolean checkHost) at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc2 mapping, T[] array)at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di)
at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc
2 mapping, T[] array) at <StartupCode$Paket-Core>.$ProjectFile.search@55-2(String pattern, DirectoryInfo di) at Paket.ProjectFile.FindAllProjects(String folder) at Paket.InstallProcess.findAllReferencesFiles(String root) at Paket.UpdateProcess.SmartInstall(String dependenciesFileName, Boolean updateAll, FSharpOption1 exclude, UpdaterOptions options)at <StartupCode$Paket-Core>.$PublicAPI.Install@156.Invoke(Unit unitVar0)
at Paket.Utils.RunInLockedAccessMode[a](String rootFolder, FSharpFunc
2 action) at Paket.Program.handler@280-10.Invoke(ArgParseResults1 results)at Paket.Program.processWithValidation[T](FSharpFunc
2 validateF, FSharpFunc2 commandF, Command command, String[] args)at Paket.Program.processCommand@71-1.Invoke(Command command, String[] args)
at Paket.Program.main()`
forki commentedon Jul 31, 2015
also reported in https://twitter.com/chrismckee/status/626756973283950592
baronfel commentedon Jul 31, 2015
we could try adding support for the
\\?\<FILEPATH>syntax, which opts-in to long path support in win32: http://blogs.msdn.com/b/bclteam/archive/2007/02/13/long-paths-in-net-part-1-of-3-kim-hamilton.aspxChrisMcKee commentedon Jul 31, 2015
+1 When it does find all refs is it scanning all the folders? Just wondering as I have a 'master' folder in my repo which isnt part of the solution, in there is some frontend crap for gulp that handles live reload etc; It's only the npm folder in here that exceeds the win limit (mostly caused by lodash dependencies). But I wouldn't expect Paket to be looking at anything thats not in SLN/CSProj
FindAllFiles should handle paths that are longer than 260 characters …
forki commentedon Jul 31, 2015
could you please check if 1.22.0-alpha005 fixes it?
you can use
paket.bootstrapper.exe prereleaseto get that versionbaronfel commentedon Jul 31, 2015
it does fix the issue for me. Thanks for the quick turnaround, @forki.
forki commentedon Jul 31, 2015
ok cool. will release a proper version.
forki commentedon Jul 31, 2015
done http://fsprojects.github.io/Paket/release-notes.html
ChrisMcKee commentedon Jul 31, 2015
Yup that wins :) Thanks
baronfel commentedon Jul 31, 2015
can you also push an update of Paket.VisualStudio to contain this fix? It's a bit of heartburn for us without it.
forki commentedon Jul 31, 2015
Already done
On Jul 31, 2015 20:32, "Chester Husk III" notifications@github.com wrote:
bhugot commentedon Mar 17, 2017
Hi,
I still get the issue especially with the new core libs which have really long name like
runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl
AndyBehr commentedon Jul 14, 2017
The PathTooLong Exception is still happening
Paket failed with: -> 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.What broke it again?