Composer and NPM

From OpenEMR Project Wiki

Under Construction.

Overview

Introduction

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

End Goal

  1. Centralize and organize all PHP libraries/dependancies into one directory.
    • Use Composer to collect and organize the PHP libraries/dependancies.
  2. Migrate all the PHP libraries/dependancies.
  3. Composer also brings with it PSR-4 autoloading.

Installation

Windows

This is the easiest way to get Composer set up on your machine.

The installer will download composer for you and set up your PATH environment variable so you can simply call composer from any directory. Download and run Composer-Setup.exe - it will install the latest composer version whenever it is executed. See: https://getcomposer.org/doc/00-intro.md/

Linux & MacOS

The first step is to download Composer, which will effectively create a Phar (PHP Archive) file called composer.phar. From your terminal, run the following command:

curl -sS https://getcomposer.org/installer | php

The resulting file will be called composer.phar, a PHP Archive that can be executed directly via PHP. However, in our case, we want Composer to be accessible globally by simply typing composer. To do this, move it to /usr/bin/ and create an alias:

sudo mv composer.phar /usr/local/bin/
vim ~/.bash_profile

Add this to your .bash_profile. It may be empty or non-existent, so go ahead and create it:

alias composer="php /usr/local/bin/composer.phar"

Now, relaunch your terminal and you'll be able to access Composer simply by calling composer
See: https://www.abeautifulsite.net/installing-composer-on-os-x

Usage

  1. Download the OpenEMR development version from github: https://github.com/openemr/openemr.git
  2. Extract the downloaded archive
  3. Then run composer inside the folder of your OpenEMR installation to get all dependencies:
cd openemr
composer install