1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 18:36:58 +01:00
psalm/docs/running_psalm/installation.md

54 lines
1.4 KiB
Markdown
Raw Normal View History

2018-02-18 01:53:17 +01:00
# Installation
The latest version of Psalm requires PHP >= 7.1 and [Composer](https://getcomposer.org/).
2018-02-18 01:53:17 +01:00
```bash
2018-04-15 16:56:43 +02:00
composer require --dev vimeo/psalm
```
2020-10-03 07:45:58 +02:00
Generate a config file:
2018-04-15 16:56:43 +02:00
```bash
2020-02-17 22:49:54 +01:00
./vendor/bin/psalm --init
2018-04-15 16:56:43 +02:00
```
2020-02-17 22:49:54 +01:00
Psalm will scan your project and figure out an appropriate [error level](error_levels.md) for your codebase.
2018-04-15 16:56:43 +02:00
Then run Psalm:
```bash
./vendor/bin/psalm
2018-02-18 01:53:17 +01:00
```
2019-03-19 17:08:22 +01:00
Psalm will probably find a number of issues - find out how to deal with them in [Dealing with code issues](dealing_with_code_issues.md).
2019-12-18 16:35:18 +01:00
2020-05-14 13:47:55 +02:00
## Installing plugins
While Psalm can figure out the types used by various libraries based on the
their source code and docblocks, it works even better with custom-tailored types
provided by Psalm plugins.
Check out the [list of existing plugins on Packagist](https://packagist.org/?type=psalm-plugin).
2020-10-03 16:30:05 +02:00
Install them with `composer require --dev <plugin/package> && vendor/bin/psalm-plugin enable <plugin/package>`
2020-05-14 13:47:55 +02:00
Read more about plugins in [Using Plugins chapter](plugins/using_plugins.md).
2019-12-18 16:35:18 +01:00
## Using the Phar
Sometimes your project can conflict with one or more of Psalms dependencies. In
that case you may find the Phar (a self-contained PHP executable) useful.
2019-12-18 16:35:18 +01:00
The Phar can be downloaded from Github:
2019-12-18 16:35:18 +01:00
```bash
wget https://github.com/vimeo/psalm/releases/latest/download/psalm.phar
chmod +x psalm.phar
./psalm.phar --version
```
Alternatively, you can use Composer to install the Phar:
```bash
composer require --dev psalm/phar
```