Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.

Github星跟踪图

Travis build status
Appveyor Build status
NuGet Status
Join the chat at https://gitter.im/fsprojects/Paket
Twitter

Paket

A dependency manager for .NET with support for NuGet packages and git repositories.

Why Paket?

NuGet does not separate out the concept of transitive dependencies.
If you install a package into your project and that package has further dependencies then all transitive packages are included in the packages.config.
There is no way to tell which packages are only transitive dependencies.

Even more importantly: If two packages reference conflicting versions of a package, NuGet will silently take the latest version (read more). You have no control over this process.

Paket on the other hand maintains this information on a consistent and stable basis within the paket.lock file in the solution root.
This file, together with the paket.dependencies file enables you to determine exactly what's happening with your dependencies.

Paket also enables you to reference files directly from git repositories or any http-resource.

For more reasons see the FAQ.

Online resources

Troubleshooting and support

Prerequisites

Windows

Linux

  • up-to-date Mono (>= 5.0 required, >= 5.2 recommended, just install the latest nightly)
  • up-to-date MSBuild (>= 15.0, support for "Directory.Build.props" required)

On most distros, it should be enough to follow this guide and install mono-devel, which contains MSBuild.
Note: if the paket build script fails at paket restore just rerun it a few times until it succeeds.

Quick contributing guide

  • Fork and clone locally.
  • Build the solution with Visual Studio, build.cmd or build.sh.
  • Create a topic specific branch in git. Add a nice feature in the code. Do not
    forget to add tests and/or docs.
  • Run build.cmd (build.sh on Mono) to make sure all tests are still
    passing.
  • When built, you'll find the binaries in ./bin which you can then test
    with locally, to ensure the bug or feature has been successfully implemented.
  • Send a Pull Request.

If you want to contribute to the docs then please modify the markdown files in /docs/content and send a pull request.
Note, that short description and syntax for each command is generated automatically from the Paket.Commands module.

License

The MIT license

Maintainer(s)

The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)

主要指标

概览
名称与所有者fsprojects/Paket
主编程语言F#
编程语言Shell (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2014-08-08 11:36:13
推送于2024-11-19 08:17:25
最后一次提交2024-11-19 09:17:03
发布数2476
最新版本名称9.0.2 (发布于 )
第一版名称0.0.1-alpha008 (发布于 )
用户参与
星数2.1k
关注者数66
派生数526
提交数12.9k
已启用问题?
问题数2669
打开的问题数745
拉请求数1429
打开的拉请求数38
关闭的拉请求数153
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?