[RUBY] Construction de l'environnement de développement Mac OS X Yosemite 10.10

Items to install

Install JDK

Java SE Development Kit 8 Downloads

$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

Install Command Line Tools for Xcode [Command Line Tools (OS X 10.10) for Xcode - Xcode 6.1] (https://developer.apple.com/downloads/index.action)

Install homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
=> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1
 .
 .
 .
$ brew doctor
Your system is ready to brew.
$ brew update
Already up-to-date.
$ brew -v
Homebrew 0.9.5

Install MySQL

$ brew install mysql
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.6.20_1.mavericks.bottle.tar.gz
Already downloaded: /Library/Caches/Homebrew/mysql-5.6.20_1.mavericks.bottle.tar.gz
 .
 .
 .

Install Git

$ git --version
git version 1.9.3 (Apple Git-50)
$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.1.1.mavericks.bottle.tar.gz
 .
 .
 .
$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile
$ brew unlink git && brew link git
$ git --version
git version 2.1.2

Install OpenSSL

$ brew install openssl
Uninstalling /usr/local/Cellar/openssl/1.0.1i...
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/openssl-1.0.1i.mavericks.bottle.3.tar.gz
 .
 .
 .
$ which openssl
/usr/bin/openssl
$ brew link --force openssl
Linking /usr/local/Cellar/openssl/1.0.1i... 1140 symlinks created
$ which openssl
/usr/local/bin/openssl

Install Ruby, rbenv, and Rails

$ brew install readline
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/readline-6.3.8.mavericks.bottle.tar.gz
######################################################################## 100.0%
 .
 .
 .
$ brew install rbenv ruby-build rbenv-gem-rehash
==> Downloading https://github.com/sstephenson/rbenv/archive/v0.4.0.tar.gz
######################################################################## 100.0%
 .
 .
 .
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ sudo cat >> ~/.gemrc << EOF
install: --no-rdoc --no-ri
update: --no-rdoc --no-ri
EOF

$ sudo cat >> ~/.railsrc << EOF
--skip-bundle
--skip-test-unit
EOF

Install Ruby on rbenv

$ rbenv install -l
1.9.3-p547
2.0.0p576
2.1.3
 .
 .
 .
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.1.3
Downloading ruby-2.1.3.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/0818beb7b10ce9a058cd21d85cfe1dcd233e98b7342d32e9a5d4bebe98347f01
Installing ruby-2.1.3...
 .
 .
 .
$ rbenv global 2.1.3
$ gem update --system
$ gem install bundler && gem install rails
$ gem install sass --pre && gem install compass --pre && gem install compass-recipes --pre && gem install animation --pre && gem install susy --pre && gem install haml

Install node.js, nvm, and grunt

$ brew install node
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.32.mavericks.bottle.tar.gz
######################################################################## 100.0%
 .
 .
 .
$ git clone git://github.com/creationix/nvm.git ~/.nvm
Cloning into '/Users/*****/.nvm'...
remote: Reusing existing pack: 1256, done.
 .
 .
 .
$ source ~/.nvm/nvm.sh
$ node -v
v0.10.32
$ nvm --version
0.17.0
$ npm --version
2.0.0
$ sudo chown -R `whoami` ~/.npm
$ sudo chown -R `whoami` /usr/local/lib/node_modules
$ sudo npm install -g grunt-cli
$ sudo npm install -g bower
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sane defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
name: MyProject
version: (1.0.0)
description:
entry point: (index.js) Gruntfile.coffee
test command: grunt watch
git repository:
keywords:
author: Developer
license: (MIT)
About to write to /Users/user/Project/MyProject/package.json:

{
  "name": "My Project",
  "version": "1.0.0",
  "description": "",
  "main": "Gruntfile.coffee",
  "scripts": {
    "test": "grunt watch"
  },
  "author": "Developer",
  "license": "MIT"
}

Is this ok? (yes) yes

$ npm install --save-dev grunt grunt-banner grunt-bower-task grunt-concurrent grunt-concat-sourcemap grunt-contrib-clean grunt-contrib-coffee grunt-contrib-compass grunt-contrib-compress grunt-contrib-concat grunt-contrib-concat-sourcemaps grunt-contrib-connect grunt-contrib-copy grunt-contrib-cssmin grunt-contrib-haml grunt-contrib-htmlmin grunt-contrib-imagemin grunt-contrib-jade grunt-contrib-requirejs grunt-contrib-uglify grunt-contrib-watch grunt-devtools grunt-html-validation grunt-notify grunt-parallel grunt-play grunt-s3 grunt-shell grunt-slim load-grunt-tasks

$ cat package.json
{
  "name": "My Project",
  "version": "1.0.0",
  "description": "",
  "main": "Gruntfile.coffeee",
  "scripts": {
    "test": "grunt watch"
  },
  "author": "Developer",
  "license": "MIT",
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-banner": "^0.2.3",
    "grunt-bower-task": "^0.4.0",
    "grunt-concurrent": "^1.0.0",
    "grunt-contrib-clean": "^0.6.0",
    "grunt-contrib-coffee": "^0.11.1",
    "grunt-contrib-compass": "^1.0.1",
    "grunt-contrib-compress": "^0.12.0",
    "grunt-contrib-concat": "^0.5.0",
    "grunt-contrib-connect": "^0.8.0",
    "grunt-contrib-copy": "^0.6.0",
    "grunt-contrib-cssmin": "^0.10.0",
    "grunt-contrib-haml": "^0.2.0",
    "grunt-contrib-htmlmin": "^0.3.0",
    "grunt-contrib-imagemin": "^0.8.1",
    "grunt-contrib-jade": "^0.12.0",
    "grunt-contrib-requirejs": "^0.4.4",
    "grunt-contrib-uglify": "^0.6.0",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-devtools": "^0.2.1",
    "grunt-html-validation": "^0.1.18",
    "grunt-notify": "^0.3.1",
    "grunt-parallel": "^0.3.1",
    "grunt-play": "^0.1.0",
    "grunt-s3": "^0.2.0-alpha.3",
    "grunt-shell": "^1.1.1",
    "grunt-slim": "^0.1.0",
    "load-grunt-tasks": "^0.6.0"
  }
}

$ bower init
[?] May bower anonymously report usage statistics to improve the tool over time? No
? name: My Project
? version: 1.0.0
? description:
? main file: index.html
? what types of modules does this package expose?:
? keywords:
? authors: Developer
? license: MIT
? homepage:
? set currently installed components as dependencies?: Yes
? add commonly ignored files to ignore list?: Yes
? would you like to mark this package as private which prevents it from being accidentally published to the registry?: (y? would you like to mark this package as private which prevents it from being accidentally published to the registry?: Yes

{
  name: 'My Project',
  version: '1.0.0',
  main: 'index.html',
  authors: [
    'Developer'
  ],
  license: 'MIT',
  private: true,
  ignore: [
    '**/.*',
    'node_modules',
    'bower_components',
    'test',
    'tests'
  ]
}

? Looks good?: Yes
$ bower install --save-dev bootstrap
$ bower install --save-dev jquery
$ bower install --save-dev underscore
$ bower install --save-dev normalize-css
$ cat bower.json
{
    "name": "My Project",
    "version": "1.0.0",
    "main": "index.html",
    "authors": [
        "Developer"
    ],
    "license": "MIT",
    "private": true,
    "ignore": [
        "**/.*",
        "node_modules",
        "bower_components",
        "test",
        "tests"
    ],
    "devDependencies": {
        "bootstrap": "~3.2.0",
        "jquery": "~2.1.1",
        "underscore": "~1.7.0",
        "normalize-css": "~3.0.2"
    },
    "exportsOverride": {
        "bootstrap": {
            "js": [
                "**/bootstrap.js"
            ],
            "css": [
                "**/bootstrap.css",
                "**/bootstrap.css.map",
                "**/bootstrap-theme.css",
                "**/bootstrap-theme.css.map"
            ],
            "fonts": [
                "**/*.eot",
                "**/*.svg",
                "**/*.ttf",
                "**/*.woff"
            ]
        },
        "jquery": {
            "js": "dist/*.js"
        },
        "underscore": {
            "js": "**/underscore.js"
        },
        "normalize-css": {
            "css": "**/normalize.css"
        }
    }
}

$ vi Gruntfile.coffee
module.exports = (grunt) ->
  "use strict"
  grunt.initConfig
    pkg: grunt.file.readJSON("package.json")
    bower:
      install:
        options:
          targetDir: "./lib"
          layout: "byType"
          install: true
          verbose: false
          cleanTargetDir: true
          cleanBowerDir: false

  grunt.loadNpmTasks "grunt-bower-task"
  grunt.registerTask "default", ["bower:install"]
  return

Install Python

$ python --version
Python 2.7.5

$ brew install python --universal --framework
==> Installing dependencies for python: sqlite, gdbm, makedepend, openssl
==> Installing python dependency: sqlite
==> Downloading http://sqlite.org/2014/sqlite-autoconf-3080600.tar.gz
######################################################################## 100.0%
 .
 .
 .
$ brew install python3 --universal --framework
==> Installing python3 dependency: xz
==> Downloading http://fossies.org/linux/misc/xz-5.0.7.tar.bz2
######################################################################## 100.0%
 .
 .
 .
$ python --version
Python 2.7.8
$ python3 --version
Python 3.4.1
$ brew update
$ pip install --upgrade setuptoolspip
$ pip3 install --upgrade setuptools pip
$ brew linkapps
Linking /usr/local/Cellar/python/2.7.6_1/IDLE.app
Linking /usr/local/Cellar/python/2.7.6_1/Python Launcher.app
Linking /usr/local/Cellar/python3/3.4.0_1/IDLE 3.app
Linking /usr/local/Cellar/python3/3.4.0_1/Python Launcher 3.app
Finished linking. Find the links under /Applications.

Install distribute

$ curl http://python-distribute.org/distribute_setup.py | sudo python
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17672  100 17672    0     0  18731      0 --:--:-- --:--:-- --:--:-- 18740
 .
 .
 .
$ curl http://python-distribute.org/distribute_setup.py | sudo python3
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17672  100 17672    0     0  11731      0  0:00:01  0:00:01 --:--:-- 19484
 .
 .
 .

Install virtualenv

$ pip install virtualenv virtualenvwrapper
Downloading/unpacking virtualenv
  Downloading virtualenv-1.11.6-py2.py3-none-any.whl (1.6MB): 1.6MB downloaded
 .
 .
 .
$ pip3 install virtualenv virtualenvwrapper
Downloading/unpacking virtualenv
  Downloading virtualenv-1.11.4-py2.py3-none-any.whl (1.7MB): 1.7MB downloaded
 .
 .
 .
$ sudo cat >> ~/.bash_profile << EOF
### Virtualenvwrapper
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
fi
EOF
$ source ~/.bashrc
# virtualenv for Python 2.7.6
$ mkvirtualenv VIRTUALENV_NAME
# virtualenv for Python 3.4.0
$ mkvirtualenv VIRTUALENV_NAME --python /usr/local/bin/python3
$ workon VIRTUALENV_NAME
(VIRTUALENV_NAME)$ deactivate
$ exit

Install Django and python modules to virtualenv

$ workon VIRTUALENV_NAME
(VIRTUALENV_NAME)$ cat >> ./pip-install.txt << EOF
BeautifulSoup==3.2.1
Django==1.5.1
MySQL-python==1.2.5
Pattern==2.6
SimpleThreads==1.2
South==1.0
beautifulsoup4==4.3.2
boto==2.32.1
chardet==2.2.1
django-debug-toolbar==1.2.1
feedparser==5.1.3
logging==0.4.9.6
lxml==3.4.0
python-dateutil==2.2
readability-lxml==0.3.0.3
requests==2.4.1
six==1.8.0
speedparser==0.2.0
sqlparse==0.1.11
tweepy==2.3.0
unicodecsv==0.9.4
urllib3==1.9.1
wsgiref==0.1.2
EOF
(VIRTUALENV_NAME)$ pip install -r pip-install.txt
Downloading/unpacking django (from -r pip-install.txt (line 1))
  Downloading Django-1.6.3-py2.py3-none-any.whl (6.7MB): 6.7MB downloaded
 .
 .
 .
(VIRTUALENV_NAME)$ rm -f pip-install.txt
(VIRTUALENV_NAME)$ pip freeze
(VIRTUALENV_NAME)$ deactivate
$ exit

Install CocoaPods

$ rbenv global 2.1.3
$ gem install cocoapods
Password:
Fetching: fuzzy_match-2.0.4.gem (100%)
Successfully installed fuzzy_match-2.0.4
 .
 .
 .
$ pod setup

Other Configuration

$ sudo visudo
$ sudo cat /etc/sudoers
# User privilege specification
 .
 .
 .
# User privilege specification
root    ALL=(ALL) ALL
%admin  ALL=(ALL) ALL
username  ALL=(ALL) NOPASSWD: /usr/bin/rsync
 .
 .
 .

Recommended Posts

Construction de l'environnement de développement Mac OS X Yosemite 10.10
Construction de l'environnement de développement Mac OS X Mavericks 10.9.5
Mémo de construction de l'environnement de développement Mac OS X
Construction de l'environnement de développement Mac OS X Mountain Lion 10.8.5
Créer un environnement de développement Python sur Mac OS X
Construction de l'environnement GeoDjango + SQLite sur OS X
Construction de l'environnement Anaconda-4.2.0-python3 (Mac)
Construction de l'environnement de développement Python
Construction de l'environnement de développement python2.7
Construction de l'environnement Pyxel (Mac)
Construction de l'environnement de développement Mac (Ansible + Serverspec + Travis CI)
Créer un environnement de développement Python en 10 minutes (Mac OS X + Visual Studio Code)
Mémo de construction de l'environnement de développement Django
Création d'un environnement pour "Tello_Video" sur Mac OS X
Construction de l'environnement Python pour Mac
[MEMO] [Construction de l'environnement de développement] Python
Mémo sur Mac OS X
construction de l'environnement de développement de projet django
Créer un environnement de développement Python avec OS X Lion
[MEMO] [Construction de l'environnement de développement] wine
Construction de l'environnement Ansible pour Mac
Construction de l'environnement Mac + Eclipse (PyDev) + Django
Début de l'auto-construction OS 1. Construction de l'environnement
Construction de l'environnement Anaconda sur Mac (version 2018)
J'ai vérifié la construction de l'environnement Mac Python
[Pour les débutants] Django -Construction d'environnement de développement-
Installation de scikit-learn (Mac OS X)
Mémo de construction de l'environnement Python sur Mac
[Python3] Construction de l'environnement de développement << Édition Windows >>
Construction de l'environnement de développement Python sur macOS
[MEMO] [Construction de l'environnement de développement] Jupyter Notebook
Installez mitmproxy sur Mac OS X
Construire un environnement pour python3.8 sur Mac
Construction de l'environnement Python3 TensorFlow pour Mac
Mémo de construction de l'environnement de développement Emacs Python
Mémo de construction de l'environnement de développement Ubuntu Desktop 20.04
Construction de l'environnement de développement (version 2020, WSL2 + VcXsrv)
Installez pgmagick sur Mac OS X 10.9
Procédure de construction de l'environnement pour la salle de sport "Open AI Gym" qui entraîne l'IA à des jeux sur Mac OS X
Procédure de construction de l'environnement de développement Python (anaconda) (SpringToolsSuites) _2020.4
Développement d'applications WEB à l'aide de django-Construction d'environnement de développement-
Comment préparer l'environnement de développement Python [Mac]
Aws-cli installé sur Mac OS X Lion
Construction de l'environnement de développement Python3 + venv + VSCode + macOS
Préparer l'environnement de développement pour keyhac pour Mac
Construction d'un environnement de développement pour l'atelier Choreonoid
Création d'un environnement de développement Python pour Windows + gVim + Poetry
Exécutez NASA CEA sur Mac OS X
Construction de l'environnement Django
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
Construction de l'environnement DeepIE3D
Construction d'environnement basée sur Emacs
Construction de l'environnement Linux
Construction d'environnement explosif Python à partir de zéro (Mac)
Construction d'environnement (python)
EV3 x Pyrhon Machine Learning Partie 1 Construction de l'environnement
Exécutez Zookeeper x python (kazoo) sur Mac OS X
Construction de l'environnement CodeIgniter
Créez un environnement de développement Python sur votre Mac