SHOW:
|
|
- or go back to the newest paste.
| 1 | - | #!/bin/sh |
| 1 | + | #!/bin/bash |
| 2 | # | |
| 3 | - | # This script will download NodeJS, NPM and lessc, and install them into you Python |
| 3 | + | # This script will download NodeJS, NPM and lessc, and install them into your Python |
| 4 | # virtualenv. | |
| 5 | # | |
| 6 | # Based on a post by Natim: | |
| 7 | # http://stackoverflow.com/questions/8986709/how-to-install-lessc-and-nodejs-in-a-python-virtualenv | |
| 8 | ||
| 9 | - | NODEJS="http://nodejs.org/dist/v0.8.3/node-v0.8.3.tar.gz" |
| 9 | + | NODEJS="http://nodejs.org/dist/v0.10.20/node-v0.10.20.tar.gz" |
| 10 | ||
| 11 | # Check dependencies | |
| 12 | for dep in gcc wget curl tar make; do | |
| 13 | - | which $dep > /dev/null || (echo "ERROR: $dep not found"; exit 10) |
| 13 | + | which $dep > /dev/null || { echo "ERROR: $dep not found. Install $dep and run script again."; exit 10; }
|
| 14 | done | |
| 15 | ||
| 16 | # Must be run from virtual env | |
| 17 | if [ "$VIRTUAL_ENV" = "" ]; then | |
| 18 | echo "ERROR: you must activate the virtualenv first!" | |
| 19 | exit 1 | |
| 20 | fi | |
| 21 | ||
| 22 | - | echo "1) Installing nodejs in current virtual env" |
| 22 | + | echo "1. Installing nodejs in current virtual env" |
| 23 | echo | |
| 24 | ||
| 25 | cd "$VIRTUAL_ENV" | |
| 26 | ||
| 27 | # Create temp dir | |
| 28 | if [ ! -d "tmp" ]; then | |
| 29 | mkdir tmp | |
| 30 | fi | |
| 31 | - | cd tmp || (echo "ERROR: entering tmp directory failed"; exit 4) |
| 31 | + | cd tmp || { echo "ERROR: entering tmp directory failed"; exit 4; }
|
| 32 | ||
| 33 | echo -n "- Entered temp dir: " | |
| 34 | pwd | |
| 35 | ||
| 36 | # Download | |
| 37 | fname=`basename "$NODEJS"` | |
| 38 | if [ -f "$fname" ]; then | |
| 39 | echo "- $fname already exists, not downloading" | |
| 40 | else | |
| 41 | echo "- Downloading $NODEJS" | |
| 42 | - | wget "$NODEJS" || (echo "ERROR: download failed"; exit 2) |
| 42 | + | wget "$NODEJS" || { echo "ERROR: download failed"; exit 2; }
|
| 43 | fi | |
| 44 | ||
| 45 | echo "- Extracting" | |
| 46 | - | tar -xvzf "$fname" || (echo "ERROR: tar failed"; exit 3) |
| 46 | + | tar -xvzf "$fname" || { echo "ERROR: tar failed"; exit 3; }
|
| 47 | - | cd `basename "$fname" .tar.gz` || (echo "ERROR: entering source directory failed"; exit 4) |
| 47 | + | cd `basename "$fname" .tar.gz` || { echo "ERROR: entering source directory failed"; exit 4; }
|
| 48 | ||
| 49 | echo "- Configure" | |
| 50 | - | ./configure --prefix="$VIRTUAL_ENV" || (echo "ERROR: configure failed"; exit 5) |
| 50 | + | ./configure --prefix="$VIRTUAL_ENV" || { echo "ERROR: configure failed"; exit 5; }
|
| 51 | ||
| 52 | echo "- Make" | |
| 53 | - | make || (echo "ERROR: build failed"; exit 6) |
| 53 | + | make || { echo "ERROR: build failed"; exit 6; }
|
| 54 | ||
| 55 | echo "- Install " | |
| 56 | - | make install || (echo "ERROR: install failed"; exit 7) |
| 56 | + | make install || { echo "ERROR: install failed"; exit 7; }
|
| 57 | ||
| 58 | ||
| 59 | echo | |
| 60 | echo "2) Installing npm" | |
| 61 | echo | |
| 62 | - | curl http://npmjs.org/install.sh | sh || (echo "ERROR: install failed"; exit 7) |
| 62 | + | curl -L https://npmjs.org/install.sh | sh || { echo "ERROR: install failed"; exit 7; }
|
| 63 | ||
| 64 | ||
| 65 | echo | |
| 66 | echo "3) Installing lessc with npm" | |
| 67 | echo | |
| 68 | - | npm install less -g || (echo "ERROR: lessc install failed"; exit 8) |
| 68 | + | npm install less -g || { echo "ERROR: lessc install failed"; exit 8; }
|
| 69 | ||
| 70 | echo "Congratulations! lessc is now installed in your virtualenv" |