代码之家  ›  专栏  ›  技术社区  ›  Tobia

为什么Paket尝试为CliWrap引入数百个依赖项?

  •  0
  • Tobia  · 技术社区  · 7 年前

    dotnet-sdk-2.1 版本2.1.403),我正在尝试安装 CliWrap

    (事实上,它甚至不是一个项目,而是一个目录 .fsx 使用 #r

    Paket想做的是:

    $ echo 'source https://nuget.org/api/v2' > paket.dependencies
    $ paket.exe add --no-install CliWrap
    Paket version 5.181.1
    Adding CliWrap to /tmp/test/paket.dependencies into group Main
    Resolving packages for group Main:
     - CliWrap 2.0.1
     - Microsoft.NETCore.App 2.1.5
     - Microsoft.VisualBasic 10.3.0
     - System.Threading.Tasks.Dataflow 4.9.0
     - System.Net.Http 4.3.3
     - runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - System.Diagnostics.DiagnosticSource 4.5.1
     - System.Net.Security 4.3.2
     - Microsoft.CSharp 4.5.0
     - System.Buffers 4.5.0
     - System.ComponentModel 4.3.0
     - System.ComponentModel.Annotations 4.5.0
     - System.Diagnostics.Process 4.3.0
     - System.Dynamic.Runtime 4.3.0
     - System.Globalization.Extensions 4.3.0
     - System.IO.FileSystem.Watcher 4.3.0
     - System.IO.MemoryMappedFiles 4.3.0
     - System.IO.UnmanagedMemoryStream 4.3.0
     - System.Linq.Expressions 4.3.0
     - System.Linq.Parallel 4.3.0
     - System.Linq.Queryable 4.3.0
     - System.Net.NameResolution 4.3.0
     - System.Net.Requests 4.3.0
     - System.Net.WebHeaderCollection 4.3.0
     - System.Numerics.Vectors 4.5.0
     - System.Reflection.DispatchProxy 4.5.1
     - System.Resources.Reader 4.3.0
     - System.Runtime.Loader 4.3.0
     - System.Security.Cryptography.Algorithms 4.3.1
     - System.Security.Cryptography.Encoding 4.3.0
     - System.Security.Cryptography.Primitives 4.3.0
     - System.Security.Cryptography.X509Certificates 4.3.2
     - System.Threading.Tasks.Extensions 4.5.1
     - System.Threading.Tasks.Parallel 4.3.0
     - System.Threading.Thread 4.3.0
     - System.Threading.ThreadPool 4.3.0
     - runtime.native.System.Security.Cryptography 4.3.4
     - Libuv 1.10.0
     - NETStandard.Library 2.0.3
     - Microsoft.DiaSymReader.Native 1.7.0
     - System.Reflection.Metadata 1.6.0
     - Microsoft.CodeAnalysis.CSharp 2.9.0
     - Microsoft.CodeAnalysis.VisualBasic 2.9.0
     - Microsoft.NETCore.DotNetHostPolicy 2.1.5
     - Microsoft.NETCore.Runtime.CoreCLR 2.0.8
     - Microsoft.NETCore.Platforms 2.1.1
     - Microsoft.CodeAnalysis.Common 2.9.0
     - System.Runtime.CompilerServices.Unsafe 4.5.2
     - System.Reflection.TypeExtensions 4.5.1
     - runtime.debian.8-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.debian.9-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.fedora.27-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.fedora.28-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography 4.3.4
     - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3
     - runtime.native.System.Security.Cryptography.Apple 4.3.1
     - System.AppContext 4.3.0
     - System.Console 4.3.1
     - System.Diagnostics.Tools 4.3.0
     - System.IO.Compression 4.3.0
     - System.IO.Compression.ZipFile 4.3.0
     - System.Net.Sockets 4.3.0
     - System.Runtime.InteropServices.RuntimeInformation 4.3.0
     - System.Text.RegularExpressions 4.3.0
     - System.Threading.Timer 4.3.0
     - System.Xml.ReaderWriter 4.3.1
     - System.Xml.XDocument 4.3.0
     - System.Reflection 4.3.0
     - Microsoft.Win32.Registry 4.5.0
     - System.IO.FileSystem.Primitives 4.3.0
     - System.Text.Encoding.Extensions 4.3.0
     - System.Linq 4.3.0
     - System.ObjectModel 4.3.0
     - System.Reflection.Emit 4.3.0
     - System.Reflection.Emit.ILGeneration 4.3.0
     - System.Reflection.Primitives 4.3.0
     - System.Threading.Overlapped 4.3.0
     - System.Reflection.Emit.Lightweight 4.3.0
     - System.Reflection.Extensions 4.3.0
     - runtime.native.System 4.3.1
     - runtime.native.System.Net.Http 4.3.1
     - System.Collections 4.3.0
     - System.Diagnostics.Debug 4.3.0
     - System.Diagnostics.Tracing 4.3.0
     - System.Globalization 4.3.0
     - System.IO 4.3.0
     - System.IO.FileSystem 4.3.0
     - System.Net.Primitives 4.3.0
     - System.Resources.ResourceManager 4.3.0
     - System.Runtime 4.3.0
     - System.Runtime.Extensions 4.3.0
     - System.Runtime.Handles 4.3.0
     - System.Runtime.InteropServices 4.3.0
     - System.Security.Cryptography.OpenSsl 4.5.0
     - System.Text.Encoding 4.3.0
     - System.Threading 4.3.0
     - System.Threading.Tasks 4.3.0
     - System.Security.Principal.Windows 4.5.1
     - Microsoft.Win32.Primitives 4.3.0
     - runtime.native.System.Net.Security 4.3.1
     - System.Collections.Concurrent 4.3.0
     - System.Security.Claims 4.3.0
     - System.Security.Principal 4.3.0
     - System.Runtime.Numerics 4.3.0
     - System.Globalization.Calendars 4.3.0
     - System.Security.Cryptography.Cng 4.5.0
     - System.Security.Cryptography.Csp 4.3.0
     - Microsoft.NETCore.DotNetHostResolver 2.1.5
     - Microsoft.NETCore.Jit 2.0.8
     - System.Collections.Immutable 1.5.0
     - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple 4.3.1
     - System.Diagnostics.FileVersionInfo 4.3.0
     - System.Diagnostics.StackTrace 4.3.0
     - System.Text.Encoding.CodePages 4.5.0
     - System.ValueTuple 4.5.0
     - System.Xml.XmlDocument 4.3.0
     - System.Xml.XPath.XDocument 4.3.0
     - runtime.native.System.IO.Compression 4.3.2
     - Microsoft.CodeAnalysis.Analyzers 2.6.2
     - Microsoft.NETCore.DotNetAppHost 2.1.5
     - Microsoft.NETCore.Targets 2.1.0
     - System.Xml.XPath 4.3.0
    Locked version resolution written to /tmp/test/paket.lock
    Dependencies files saved to /tmp/test/paket.dependencies
    Performance:
     - Resolver: 23 seconds (1 runs)
        - Runtime: 2 seconds
        - Blocked (retrieving package details): 12 seconds (69 times)
        - Blocked (retrieving package versions): 8 seconds (9 times)
        - Not Blocked (retrieving package details): 77 times
        - Not Blocked (retrieving package versions): 137 times
     - Average Request Time: 136 milliseconds
     - Number of Requests: 166
     - Runtime: 24 seconds
    

    使用Nuget手动安装它不会有问题:

    $ nuget.exe install CliWrap -ExcludeVersion -OutputDirectory packages
    Feeds used:
      https://api.nuget.org/v3/index.json
    
    Installing package 'CliWrap' to 'packages'.
      GET https://api.nuget.org/v3/registration3-gz-semver2/cliwrap/index.json
      OK https://api.nuget.org/v3/registration3-gz-semver2/cliwrap/index.json 287ms
    
    
    Attempting to gather dependency information for package 'CliWrap.2.0.1' with respect to project 'packages', targeting 'Any,Version=v0.0'
    Gathering dependency information took 21.99 ms
    Attempting to resolve dependencies for package 'CliWrap.2.0.1' with DependencyBehavior 'Lowest'
    Resolving dependency information took 0 ms
    Resolving actions to install package 'CliWrap.2.0.1'
    Resolved actions to install package 'CliWrap.2.0.1'
    Retrieving package 'CliWrap 2.0.1' from 'nuget.org'.
    Adding package 'CliWrap.2.0.1' to folder '/tmp/test/packages'
    Added package 'CliWrap.2.0.1' to folder '/tmp/test/packages'
    Successfully installed 'CliWrap 2.0.1' to packages
    Executing nuget actions took 54.2 ms
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   Mark Pattison    7 年前

    你可以使用 storage: none 你的选择 paket.dependencies 要禁用的文件 packages 文件夹并改用全局numget缓存。

    here .

    推荐文章