-
-
Save bratucornel/1956f7cb07a25006b8a5ccd75b07e93f to your computer and use it in GitHub Desktop.
Global Composer Setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# As root | |
# Make config and data dirs | |
mkdir /etc/composer -p || exit 1 | |
mkdir /var/lib/composer -p | |
# Set composer home dir to global location | |
cat << EOF > /etc/profile.d/composer.sh | |
#!/usr/bin/env bash | |
export COMPOSER_HOME=/etc/composer | |
export COMPOSER_ALLOW_SUPERUSER=1 | |
EOF | |
export COMPOSER_HOME=/etc/composer | |
export COMPOSER_ALLOW_SUPERUSER=1 | |
# Allow dir to be passed when sudoing | |
# sudo composer global ... | |
cat << EOF > /etc/sudoers.d/composer | |
Defaults env_keep += "COMPOSER_HOME" | |
Defaults env_keep += "COMPOSER_ALLOW_SUPERUSER" | |
EOF | |
# install composer | |
curl -sS https://getcomposer.org/installer | php -d memory_limit=-1 -- --filename=composer --install-dir=/usr/bin || exit 1 | |
# Reset data and cache dirs to be in normal location | |
composer config -g cache-dir "~/.composer/cache" | |
composer config -g data-dir "~/.composer" | |
chmod +r /etc/composer/auth.json | |
chmod +r /etc/composer/config.json | |
# Set global dirs for global context | |
composer global config data-dir /var/lib/composer | |
composer global config vendor-dir /var/lib/composer/vendor | |
composer global config bin-dir /usr/bin | |
# Add script to update composer and global packages on boot | |
cat << EOF > /var/lib/cloud/scripts/per-boot/composer_update.sh | |
#!/usr/bin/env bash | |
. /etc/profile | |
composer self | |
composer global update | |
EOF | |
chmod u+x /var/lib/cloud/scripts/per-boot/composer_update.sh | |
composer global require gmo/credstash "^1.0@dev" | |
composer global require symfony/console "^2.7 || ^3.0" | |
echo | |
echo | |
echo "Relogin to apply env variables" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment