# Package Management

Package managers help keep a project's dependencies organized.

# JavaScript

# NPM

Node Package Manager (npm) is a package manager for node projects. Each package is listed in a package.json file and a package-lock.json file. Also, IT IS RECOMMENDED to install NVM (Node version manager) instead of NPM. It will prevent any permission denied errors when installing certain packages.

Install NVM
NPM

Sometimes module resolution and duplicate packages can be an issue. This might happen if there are many node applications within a bigger application. Understanding module resolution

# Yarn

Another Package manager for JS

# PHP

# Composer

Pacakage manager for PHP

# Python

# Pip

Package manager and virtual environment for Python

# Ruby

# Gem

Gem is a package manager for Ruby. Ruby comes installed on MacOS, but it shouldnt be used since its much older version. It's recommended to use RVM (Ruby Version manager). The styleguide uses Jekyll, so we need Ruby to do any development for the site. You should install Ruby version 2.6.0 to make sure Jekyll works properly.

Install RVM
Installing Jekyll