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" |