Skip to content

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

License

Notifications You must be signed in to change notification settings

fsprojects/Paket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

eed370a · Nov 19, 2024
Nov 15, 2024
Sep 2, 2016
Nov 15, 2024
Dec 5, 2017
Jul 7, 2023
Jan 15, 2024
Nov 15, 2024
Sep 12, 2017
Nov 18, 2024
Nov 15, 2024
Nov 21, 2019
Jun 15, 2020
Nov 4, 2017
Dec 2, 2019
Jun 9, 2021
Apr 27, 2020
Nov 12, 2023
Nov 28, 2019
Nov 28, 2019
Jan 13, 2015
Nov 21, 2016
Oct 7, 2020
Sep 2, 2022
Nov 19, 2024
Jun 9, 2021
Apr 22, 2021
Nov 15, 2024
Jan 3, 2021
Jul 5, 2017
Nov 15, 2024
Aug 23, 2017
Nov 15, 2024
Nov 15, 2024

Repository files navigation

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 did 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

  • As of #2664, paket now automatically bootstraps all required dependencies and builds on a clean windows installation.

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)