> For the complete documentation index, see [llms.txt](https://docs.zongsoft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zongsoft.com/documentation/en/get-started/install.md).

# Install Packages

Install Zongsoft related NuGet packages and global tools.

Zongsoft framework components are mainly distributed through NuGet packages, and the toolchain is distributed through .NET global tools.

## Compile Reference and Run Deployment

`dotnet add package` allows the project to compile and use the corresponding API; the plugin host also requires runtime artifacts such as `.plugin`, `.option`, mapping and dependencies. Business modules usually only reference the required contracts, and the specific driver is selected by the host deployment plan. For example, a module that only uses the data access contract does not have to directly reference all database drivers.

Team projects should have fixed compatible versions. When different versions of packages are deployed together, the final DLL and ancillary resources must match; successful NuGet restoration cannot be regarded as successful plugin deployment.

## Install Framework Package

Install the corresponding package according to your application needs. For example, plugin-based applications often use:

```bash
dotnet add package Zongsoft.Core
dotnet add package Zongsoft.Plugins
```

If web capabilities are required:

```bash
dotnet add package Zongsoft.Web
dotnet add package Zongsoft.Plugins.Web
```

If data access is required:

```bash
dotnet add package Zongsoft.Data
dotnet add package Zongsoft.Data.MySql
```

Available drivers include SQL Server, MySQL, SQLite, DuckDB, PostgreSQL, InfluxDB, TDengine and ClickHouse, etc. See [Package and Module Index](/documentation/en/references/packages.md) for details.

## Install Deployment Tools

`dotnet-deploy` is used to deploy plugins and side files based on the `.deploy` file.

```bash
dotnet tool install -g Zongsoft.Tools.Deployer
```

Update installed tools:

```bash
dotnet tool update -g Zongsoft.Tools.Deployer
```

## Install Packaging Tools

`dotnet-pack` is used to make `.tar.gz`, `.deb`, and `.rpm` installation packages.

```bash
dotnet tool install -g Zongsoft.Tools.Packager
```

## Check Tool

```bash
dotnet tool list -g
```

Once you've confirmed that the tools you need are included in the list, continue reading [Choose a Host](/documentation/en/get-started/hosting.md).

## When the Tool Cannot Be Found

First check whether `dotnet tool list -g` and the tool directory are in PATH, then open a new terminal and try again. Global installation belongs to the current account, and system services or other accounts may not be able to find the same path. Offline or private source environments also require pre-arranged package caching and access permissions.

When making a plugin application, you only need to install the deployer first, and the Linux installation package and automatic upgrade tool will be prepared at the corresponding stage. Don't start all containers just to run an example with no external dependencies.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.zongsoft.com/documentation/en/get-started/install.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
