├── README.md ├── install ├── io-install └── package.json /README.md: -------------------------------------------------------------------------------- 1 | io-install 2 | ========== 3 | 4 | Install me to install [io.js](http://iojs.org). Inspired by [node-install](https://github.com/mafintosh/node-install). 5 | 6 | Install 7 | ------- 8 | 9 | ``` 10 | npm install -g io-install 11 | ``` 12 | 13 | Usage 14 | ----- 15 | 16 | ``` 17 | Usage: io-install version 18 | 19 | version can also be "latest" 20 | list versions with --list 21 | ``` 22 | 23 | No npm? 24 | ------- 25 | 26 | No problem. Install the script running the following command on your shell. 27 | 28 | ``` 29 | curl -fs https://raw.githubusercontent.com/sorribas/io-install/master/install | sh 30 | ``` 31 | 32 | License 33 | ------- 34 | 35 | MIT License. 36 | -------------------------------------------------------------------------------- /install: -------------------------------------------------------------------------------- 1 | [ ! -d /usr/local/bin ] && echo "/usr/local/bin does not exist" && exit 1 2 | [ ! -O /usr/local/bin ] && SUDO_MAYBE=sudo 3 | $SUDO_MAYBE curl -fso /usr/local/bin/io-install https://raw.githubusercontent.com/sorribas/io-install/master/io-install 4 | $SUDO_MAYBE chmod +x /usr/local/bin/io-install 5 | -------------------------------------------------------------------------------- /io-install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | [ ! -O /usr/local/bin ] && SUDO_MAYBE=sudo 4 | 5 | for opt in "$@"; do 6 | case "$opt" in 7 | --force) force=true ;; 8 | -f) force=true ;; 9 | --list) list=true ;; 10 | -l) list=true ;; 11 | esac 12 | done 13 | 14 | [ ! -d /usr/local/bin ] && [ "$force" != "" ] && echo "/usr/local/bin does not exist" && exit 1 15 | 16 | if [ "$list" = "true" ]; then 17 | curl -fs https://iojs.org/download/release/index.tab | awk '{print $1}' | tail -n +2 18 | exit 0 19 | fi 20 | 21 | version="$1" 22 | version="${version//v/}" 23 | 24 | [ "$version" = "latest" ] && version="$(curl -fs https://iojs.org/dist/latest/ | grep iojs- | head -n1 | sed 's/.*iojs-v//' | sed 's/-.*//')" 25 | 26 | if [ "$version" == "" ]; then 27 | echo 'Usage: io-install version' 28 | echo '' 29 | echo ' version can also be "latest"' 30 | echo ' list versions with --list' 31 | echo '' 32 | exit 0 33 | fi 34 | 35 | case "$(uname -a)" in 36 | Linux*) os=linux ;; 37 | Darwin*) os=darwin ;; 38 | SunOS*) os=sunos ;; 39 | esac 40 | 41 | arch=x86 42 | 43 | case "$(uname -a)" in 44 | *raspberrypi*) arch=arm-pi ;; 45 | *x86_64*) arch=x64 ;; 46 | esac 47 | 48 | url="https://iojs.org/dist/v$version/iojs-v$version-$os-$arch.tar.gz" 49 | 50 | if curl -fsI "$url" > /dev/null 2>&1 ; then 51 | if [ "$os" = "darwin" ]; then 52 | curl -fs $url | $SUDO_MAYBE tar xzPs '|^[^/]*/|/usr/local/|' --include '*/*/*' 53 | else 54 | curl -fs $url | $SUDO_MAYBE tar xzP --xform 's|^[^/]*/|/usr/local/|' --wildcards '*/*/*' 55 | fi 56 | else 57 | echo 'Unexisting io.js version.' 58 | exit 1 59 | fi 60 | 61 | [ $? != 0 ] && echo 'Could not install io.js' && exit 1 62 | 63 | echo iojs $(iojs -v) is now installed 64 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "io-install", 3 | "version": "1.1.1", 4 | "description": "Install me to install io.js", 5 | "main": "io-install", 6 | "author": "Eduardo Sorribas (http://sorribas.org/)", 7 | "bin": { 8 | "io-install": "./io-install" 9 | }, 10 | "license": "MIT" 11 | } 12 | --------------------------------------------------------------------------------