- Atom, an open-source text editor that can be used as an IDE for a huge array of programming languages, can open up loads of opportunities thanks to continuous support from this community. It includes all the features you could ask for in a code editor, like a syntax highlighter, auto-detect for languages, automatic text completion, the.
- A Workflow for the OS X app Alfred2: Open in Atom. This is just a simple workflow that allows you to quickly open files in GitHub's Atom text editor.
- Two of the most popular Mac programming text editors, TextMate 2 and Sublime Text 3, weigh in at 32MB and 28MB respectively while Atom is an unnecessarily hefty 219MB — a full 7x more bulk. To find a native editor that heavy, one has to download a full-blown IDE with everything but the kitchen sink like Coda.
- The setup program will install Atom, add the atom and apm commands to your Windows PATH variable. It will also create shortcuts on your desktop and in the start menu. Once the installation is complete, Atom text editor will launch. Step 3 – Use Atom Text Editor. To start and use Atom text editor, so double-click on the atom text editor icon.
If you have anything to contribute -- e.g. configurations for editors, new editors, or opinion -- don't hesitate to edit or create pages.
There's an EditorConfigurationHowto available.
Atom is a free and open-source text and source code editor for macOS, Linux, and Microsoft Windows with support for plug-ins written in JavaScript, and embedded Git Control, developed by GitHub. Atom is a desktop application built using web technologies. Most of the extending packages have free software licenses and are community-built.
Contents
Please keep wiki links as wiki links, use external links only if there is no existing page for the editor. Please add pages like BoaConstructor also to page IntegratedDevelopmentEnvironments.
Multiplatform Editors
Name | Platform | Impl. Language | License | Notes |
Linux, FreeBSD | Python, GTK | GPLv3 | Embed Vim. Little brother of PIDA | |
Unix/X, Windows, Mac OS X | Tcl/Tk | Proprietary | Extensible in Tcl, Tk; Can interact with python. | |
Unix/X, Windows, Mac OS X | Python | MIT | Python language support for Atom-IDE, powered by the Python language server. | |
Linux, Windows, Mac OS X | C++, wxWidgets | GPLv3 | class browser does not currently work for .py files, but it's still a nice IDE to use for python projects | |
Linux, Windows, Mac OS X | C, GTK+ | GPLv3 | The link points to the features page. | |
Linux, Windows, FreeBSD | C | GPLv3 | Cream is a free and easy-to-use configuration of the powerful and famous Vim text editor for both Microsoft Windows and GNU/Lfinux. | |
Unix/X, Windows, Mac OS X | C, GTK+ | GPLv2 | CSS editor with syntax highlighting for Python, and embedded Python interpreter. Extensible through a Python API. | |
Unix/X, Windows, Mac OS X | Python, wxPython | BSD | Extensible in Python; part of PythonCard. Includes PyCrust shell. | |
Linux, Windows, Mac OS X | Python, PyQt | GPLv3 | Complete IDE, very well integrated with PyQT development, but usable for any kind of project. Supports projects, debugging, auto-complete, syntax coloring, etc. It is extensible via plug-in system. Integrated version control interface for Git, Subversion and Mercurial through core plugins. eric6 requires Python 3 (and, if desired, PyQt5), and supports CxFreeze and PyInstaller, Django and Pyramid, PyLint and Vulture | |
Unix/X, Windows, Mac OS X | Proprietary | BRIEF-compatible, supports Python syntax, in-buffer Python interpreter, supports lots of languages. Powerful macro language. | ||
Windows, Mac OS X, Linux | Tcl/Tk | Public domain | DRAKON diagram editor with code generation in Python. | |
Windows, Linux and Mac/MacPorts | Python, PyGTK | GPLv3 | Interactive shell with history box and code box, auto-completion of attributes and file names, auto-display of function arguments and documentation. Keeps your recent results, provides session history saving (optionally in HTML), interactive plotting with matplotlib. Extremely fast and responsive. | |
Unix/X, Windows, Mac OS X | Python, wxPython | GPL | Simple, Highly Customizable Editor/Environment. A Tribute to DrScheme. | |
Unix/X, Windows, Mac OS X | Java | EPL | Eclipse is ... an open extensible IDE for anything and nothing in particular.' Support for Python can be obtained via the PyDEV plugin. | |
Linux, Windows | Proprietary | Built-in Python syntax highlighting, Python class browsing, Python-compatible regular expressions, code folding, and extensive options for running external tools such as Python scripts. | ||
Linux, Windows, Mac OS X | Python, wxPython | wxWindows | A general purpose developer's text editor written in Python/wxPython. It supports python syntax highlighting, auto-ident, auto-completion, classbrowser, and can run scripts from inside the editor. Extensible with plugins written in python. | |
Unix/X, Windows, Mac OS | C, Lisp | GPLv3 | Python support with EmacsPythonMode. Extensible in Python using pymacs | |
Linux, Windows, FreeBSD and OS/2 | Proprietary | Customizable Python mode, syntax coloring, function tagging. | ||
Linux, Windows, Mac OS | Python, PyQt4 | GPLv3 | Extensible editor written in Python, Python/C/Nim code tree browser, 3-window editing, text diff, multi-language support, Python REPL, manipulate editor text with Python code | |
Unix/X, Windows, DOS, OS/2 | C++ | GPL | Supports lots of languages, including Python; doesn't seem programmable | |
Unix/X, Windows | C, GTK+ | GPLv2 | A small and lightweight GTK+ IDE that supports lots of languages, including Python. | |
Unix/X, Windows, Mac OS | C, Python | GPLv2 | gedit is the official text editor of the GNOME desktop environment, with Python syntax highlighting. | |
Unix/X, Windows, Mac OS | Python, PyQt | Proprietary | Ideas is a feature rich IDE that supports debugging, interpreting and project management. | |
Linux, Windows, Mac OS X | Java | GPLv2 | syntax coloring for python, extensible with jython, supports many file formats, has folding, fully customisable, has sidebar for class and functions, fast for a Java application | |
Unix, Windows, Mac OS | Java | GPLv3 | IDE with Jython Shell. Syntax coloring for python, extensible with jython, supports many file formats, fully customisable, has sidebar for class and functions | |
Unix, Windows | C | GPLv2 | Supports Python syntax and a Python-specific menu. | |
Unix, VMS, MSDOS, OS/2, BeOS, QNX, and Windows. | C | GPLv2 | Syntax highlighting and indenting, (optional) emacs keybindings, programmable with s-lang. Note: comment out 'msw_help(...' line in pymode.sl if you are having problems on Windows. | |
Unix, Windows, Mac OS | Java | GPLv2 | Has three plugins - one for Jython and one for Python/Jython JpyDbg - interactive editing debugging, code browsing, highlighting. | |
Linux, Windows, Mac OS | Java, Python | GPL | NetbeansjEdit cross IDE plugin | |
Unix/OSX/Cygwin/Interix (curses), MS-DOS (DR DOS, FreeDOS, Win, OS/2 DOS-Box) | C | GPL | Versatile WordStar-like editor (JOE fork) with many colourised syntax-highlighting modes | |
Linux, Windows, Mac OS | C++ | GPLv2 | Kde main developping app. Code folding, syntax highlighting, navigator. projects, class browser, version control, customizable keybindings. Comes also with some typical python project models: pyton Qt app, Tkinter app and simple script. | |
Unix, Windows, Mac OS X | Proprietary | Komodo is an award winning Python IDE from ActiveState. Fully-integrated Python 3 support featuring code intelligence with autocomplete and calltips, Python debugger (includes remote debugging), interactive shell, remote file support, macros, templating, emacs command support and great help documentation. There is also an open-source version called Komodo Edit (Source), as part of the Open Komodo project started November 2007. | ||
Unix/X, Windows, Mac OS X | Proprietary/Open Source | scaled-down version of Komodo IDE which also supports Python, but excludes the integrated debugger. | ||
Unix/X, Windows, Mac OS X | Python, wxPython | GPLv3 | Python IDE with focus is on simplicity and ease of use. It is fast and lightweight. It features Python indentation, line numbers, code folding, syntax highlighting, shell access, code completion, a program runner, a source browser, indentation guides, a white space indicator, autosaving, an edge line, multiple tabs, printing, jumping to a specific line, word searching, word replacement, zooming undo/redo, pastebin.com code submission, Python syntax checking, the ability to change the indentation of many lines at once, autocompletiton, and bad brace checking. | |
Linux, Windows, Mac OS X | Python, PyQt | MIT | Outlining editor, fully scriptable and extensible, supporting literate programming. 100% pure Python code. | |
Unix, Windows | C, GTK+ | LGPL | Gtk editor with python bindings, allows plugins written in python. | |
Linux, Windows | C | GNU GPL | Small, terminal-based editor, Syntax highlighting | |
Unix, Windows, Mac OS X | C | GPLv3 | Easy to use, small, powerful, fast, terminal-based editor. Supports UTF-8, syntax highlighting, undo, autocomplete, macros, regexes, bookmarks. v2.4 released 2012-04 | |
Unix/X, Windows, Mac OS X | C | GPLv2 | X-Based, Python support builtin. | |
Unix/X, Windows, Mac OS X, others | Java | GPLv2 | Netbeans is an open extensible cross platform IDE ; Support for Python can be obtained via the JpyDbg plugin. A new plugin exists for Netbeans 6.5 or newer - info. | |
Linux, Windows, Mac OS | Python, PyQt4 | GPLv3 | Lightweight and extensible editor. Class browser, project manager, PEP8 finder, virtualenv, plugin support | |
Unix/X, Windows, Mac OS X | Python, wxPython | GPLv2 | wxPython based editor. Can be easily extended with mixins and plugins, and has many features. Seems to be biased towards Python web development as contains FTP GUI, RSS aggregator and HTML preview. | |
Windows NT, Linux (with GTK+ 2) | C++, wxWidgets | Freeware | Easy to use text editor with syntax highlighting for Python. Embeds the Python interpreter to extend functionality of the application | |
Linux, Windows, Mac OS X | Java | Apache 2.0 | Full-featured IDE for Python. Has Free and Open Source edition fully supporting Python as well as proprietary Professional Edition with Django, Flask, Pyramid and Google App Engine support. | |
Linux, Windows, Mac OS X | Java, Eclipse | EPL | Eclipse plugin. Code-completion. Debugger. Under active development. (ShowMeDo Videos) | |
Linux, Windows | Python, Tk | GPLv3 | Ultra-lightweight Python/text editor made in Python with Tk. Emphasis on easy customization and no-bloat attitude. | |
Unix, Windows, Mac OS X | Python, wxPython | GPLv2 | Written in Python - code folding, snippets, unicode, multiple documents, code completion, several languages, macros. | |
Linux, Windows, Mac OS X | MIT | Free open-source extension for Visual Studio Code. Supports syntax highlighting, debugging, code completion, code navigation, refactoring, with support for Django, multi threaded, local and remote debugging. | ||
Windows/Linux/Mac (wxPython) | Python | GPLv3 | An interactive environment for python features include: Multiple independent python interpreters. Interactively program with different GUI toolkits (wxPython, TkInter, pyGTK, pyQT4 and PySide). Matlab style namespace/workspace browser. Object auto-completions, calltips and multi-line command editing in the console. Object inspection and python path management. Simple code editor and integrated debugger. | |
Unix/X, Windows, Mac OS X | Python, PySide | BSD License | Open-source Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency. Pyzo consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways: e.g. source structure, interactive help, workspace, file browser (with functionality for searching). Also includes a post-mortem debugger. | |
SciTE | Windows, Linux (GTK+) | C++ | MIT-Like | A highly configurable light-weight source code editor (about 50 file formats) based on widely-used Scintilla rich text widget/control. Features: sytax highlighting, code folding, auto-indent, brace matching, codepage/unicode support, multiple documents, context help, code execution, output pane, external tools support, RegExp find/replace, text export (HTML, RTF, PDF, LaTeX, XML). Python API for calltips and autocompletion available. |
Windows, Linux, Mac OS X | Python, wxPython | GPLv3 | Stani's Python Editor. Auto indentation, auto completion, call tips, syntax coloring/highlighting, UML viewer, class explorer, source index, auto todo list, sticky notes, integrated PyCrust shell, Python file browser, recent file browser, drag&drop, context help. Blender support with a Blender 3D object browser, runs interactively inside Blender. Ships with WxGlade (GUI designer), PyChecker (source code doctor) and Kiki (regular expression console). Extensible with WxGlade. (ShowMeDo Videos) | |
Windows, Linux, macOS | Python, PyQt5 | MIT | Spyder is a powerful scientific environment written in Python, for Python,and designed by and for scientists, engineers and data analysts. It features a unique combination of the advanced editing, analysis, debugging and profiling functionality of a comprehensive development tool with the data exploration, interactive execution, deep inspection and beautiful visualization capabilities of a scientific package. Furthermore, Spyder offers built-in integration with many popular scientific packages, including NumPy, SciPy, Pandas, IPython, QtConsole, Matplotlib, SymPy, and more. Beyond its many built-in features, Spyder's abilities can be extended even further via first- and third-party plugins. It is conveniently integrated in the cross-platform Anaconda distribution, and is the centerpiece of the Python(x,y) and WinPython distributions for Windows. | |
Unix/X, Windows, Mac OS X | Proprietary | Syntax coloring, popup function arguments, class hierarchy browser, graphical debugger, and other nice Python features. Context tagging with class/module namespaces, code navigation, and smart indenting are also supported. | ||
Linux, Windows, Mac OS X | C++, Python | Proprietary | Beautiful interface, Python syntax highlighting, Python plugins. | |
Linux, Windows, Mac OS X | Python | MIT | For teaching/learning programming. Focused on program runtime visualization. Provides stepping both in statements and expressions, no-hassle variables view, separate mode for explaining references etc. | |
Unix/X, Windows, Mac OS | C | Charityware | Highly configurable text editor built to enable efficient text editing. Syntax coloring, indenting, autocompletion, and source-navigation tools for Python. Can be scripted in Python. See also Cream. | |
Unix/X, Windows, Mac OS X | Proprietary | Powerful commercial IDE designed specifically for Python. Auto-completion, call tips, syntax highlighting, goto-definition, keyboard modes for emulating Visual Studio, VI/Vim, Emacs, & Brief, graphical debugger, code browser, integrated shell, scriptable in Python, and much more. (ShowMeDo Videos) | ||
Linux, Windows | Python, wxPython | GPL | Simple text editor written in python. Syntax highlighter, Code fold, Export code in HTML... |
Unix-Only Editors
Name | Platform | FreeSoftware? | ZeroPrice? | Notes |
Unix + GTK | X | Supports debugging Python, Tcl, Ruby, Perl, Lua scripts. Code intelligence (Code completion, folding, auto-complete, code snippets, syntax highlighting matching tags, show keyword or variable information when mouse over...). Keyword help and improved script document. Integrated commonly-used scripting libraries (Tk, wxPython, Pygame, Pmw, Numeric...). Supports compiling python scripts to Windows EXE files. |
Windows-Only Editors
Name | Platform | Impl. Language | License | Notes |
Windows | C++ | GPL | Notepad++ is a free source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GPL License. Based on the powerful editing component Scintilla, Notepad++ is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size. By optimizing as many routines as possible without losing user friendliness, Notepad++ is trying to reduce the world carbon dioxide emissions. When using less CPU power, the PC can throttle down and reduce power consumption, resulting in a greener environment. | |
Windows | Pascal/Delphi | MIT | Free and open-source Python IDE created with the ambition to become competitive in functionality with commercial Windows-based IDEs |
Macintosh-Only Editors
Name | Platform | Notes |
Mac OS | Python-mode extensible in Tcl | |
Mac OS X 10.4 or later | Full-featured text editor; includes Python support. TextWrangler is the free version (see below). | |
Mac OS X 10.7 or later | General purpose editor with autocompletion for the Python standard library, plus inline documentation. | |
Mac OS X 10.4 or later | 'text editor + file transfer + svn + css + terminal + books + more = whoah. welcome to coda. grow beautiful code.' | |
Mac OS X (Cocoa) | Programmer's text editor with Python syntax highlighting. Written in Python with PyObjC. Open-source (GPL). | |
OS X (Cocoa) | Fork of Smultron. No longer under development | |
Mac OS | Included in MacPython distribution. | |
Mac OS 68k Mac OS 9 Mac OS X | Does not initially include Python support but new language modes can be created. One available here Mi_Python | |
Mac OS X | Python syntax coloring. Allow multiple author to edit the same file collaborativelly over the network using 'Bonjour' (previously Rendezvous). | |
Mac OS X 10.4 or later | Free and full-featured text editor based on BBEdit. Includes Python syntax highlighting. | |
Mac OS X | Free IDE and text editor. Includes Python syntax coloring. | |
Mac OS X 10.3.9+ | Great Cocoa editor with Python support including syntax coloring, integrated documentation, and a runtime wrapper with hyperlinked tracebacks. Note that code-folding of classes is currently broken for PEP 8 compliant code. | |
Mac OS X 10.6 or later | Again under active development, support for Python syntax coloring. Only available in the Mac App Store. | |
Mac OS X 10.3 or later | Free OS X based IDE for the Python (and other) programming language (replaces discontinued PyOXIDE), with syntax coloring, completion, tool tips, source level debugger, help browser, etc... | |
Mac OS X 10.6 or later | Free text editor, with Python syntax highlighting. A paid pro version with more features is also available. |
Online Editors
Name | Notes |
A general web-based IDE with support for Python. Provides a full Ubuntu environment with Python 2.7.6, and support for Django workspaces. | |
An interactive Python IDE for data exploration and visualization. Provides a full online Anaconda-based Python environment, with real-time collaboration, interactive IPython sessions, and easy publishing of output figures and code. Includes syntax highlighting and autocomplete. The service was shut down on 2nd Jan 2017 | |
'Host, run, and code Python in the cloud!' Free and paid plans include access to multiple versions of CPython, PyPy, IPython notebooks, a large selection of third-party modules, bash and MySQL shells, and more. | |
An online IDE for numerical and data science computing experiments - includes: real-time collaboration, a customizable editor, a console and much more. The basic account is free of charge. | |
A collection of computational mathematics tools in the cloud, including IPython notebooks, SageMath, Numpy/Scipy/Matplotlib, and Cython. | |
Continuum Analytics' (distributors of the Anaconda Python distribution) hosted data analysis environment. Includes IPython notebooks, data visualization methods like matplotlib and bokeh, ability to add AWS nodes and clusters, command-line shells, file storage, SSH access, and other elements. (Some features require paid account) |
Glorified Editors
'IDEs' that don't integrate anything Python-specific go here.
Name | Platform | Notes |
Unix + GNOME | Cross-language IDE; syntax coloring & folding for Python. | |
Linux x86 | Commercial IDE with support to 30 other languages. | |
Unix | Commercial cross-language IDE; nice multi-user project manager. | |
Windows | Cross-language IDE with integrated SQL support and automation features (currently German only GUI) | |
Python + wxPython | Simple, Highly Customizable Editor/Environment. A Tribute to DrScheme. | |
Java + Jython + Python | An OpenSource IDE for Python, Jython, and Java. Supports Syntax highlighting, Code Completion and many more. Developed in Java. | |
Python + Tkinter + Tix | An extended version of IDLE using Tix. | |
Java | Java IDE with Python support through Pythonid plugin - includes code completion, syntax & error highlighting, intra-file refactoring | |
Unix + KDE | Cross-language IDE for KDE - supports Python syntax/projects. | |
Java | A Java IDE with an optional plugin for Jython. | |
Windows/X (Python+wxPython) | Written in Python - code folding, snippets, unicode, multiple documents, code completion, several languages, macros. | |
Windows | Available either as part of ActiveState's ActivePython distribution (which is not open source) or as part of the Win32All extensions from Mark's pages (which is open source). | |
Unix/Windows/Mac | rope is a python IDE aimed at providing a rich set of software refactorings. | |
Unix/Windows with Tcl/Tk | Cross-language IDE & Source code analysis tool. | |
Eclipse | Python and PHP IDE; available in commercial Professional and open-source Foundation versions | |
Windows | GUI designer for wxPython. | |
Linux/Windows/Mac | Full featured, free IDE bundled with wxPython, features projects, scintilla, and debugging | |
Unix/Windows/Mac | Non-free Cross-language GUI dialog designer with integrated support for editing your Python callback functions. | |
Unix/Windows/Mac | A 'designer' for WxPython (requires wxPython) | |
Unix/Windows/Mac | Multi-language editor that support python autocomplete, Direcotry/class browser, tags/multi-views editing, unicode, and Django wizard(requires wxPython) | |
Python Tkinter | GUI, class browser, file manager, with code completion. Licensed under the GPL. |
Enhanced Python shells
Name | Platform | Notes |
Python + PyCrust | Interactive Python shell included in wxPython. | |
Python + PySlices | New 'notebook' version of PyCrust with save/load features and the ability to run blocks of code in separate 'slices'. | |
Unix, Mac OS X, Windows | Enhanced interactive Python shell. Also usable as pythonic system shell (bash/cmd.exe) replacement. Supports autocompletion. Inline syntax highlighting. (ShowMeDo Videos) | |
Java, at least 1.4 | Interactive, embeddable Jython shell with code completion. Licensed under the QPL. | |
Python, Windows | Interactive python shell using wxPython. py script and exe for win. Data plotting capability from within the shell. Free. | |
KDE | An interactive Python shell using PyKDE and a KHTMLPart (for HTML rendering). | |
Python 2.3 (or higher) and PyQt | An interactive Python shell using PyQt. | |
Unix, Mac OS X | Interactive shell with highlighting and autocomplete. |
Mobile Device Editors
'IDEs' that run on mobile devices and tablets.
Name | Platform | Notes |
iOS | Universal iOS (iPod Touch, iPhone, iPad) IDE. | |
iOS | Universal iOS (iPod Touch, iPhone, iPad) IDE. | |
iOS | Universal iOS (iPod Touch, iPhone, iPad) IDE. | |
iOS | Universal iOS (iPod Touch, iPhone, iPad) IDE. | |
iOS | A patch of Python-3.7.1, designed to make it compile on iOS. Python becomes a framework, and your programs call python_main(argc, argv) to execute python scripts. | |
iOS | IDE for iPad | |
iOS | IDE for iOS with native graphic and sound support through high-level API; games and interactive demos included | |
iOS | IDE for iPhone and iPad with Python 3 support. Custom library is supported. See Python Box page for details. |
Other Resources
PySmell provides autocompletion for Vim, Emacs and TextMate
Never ending debate
EmacsVsVi
CategoryEditors
Cooking time: 5min active / 15-30min passive
To build apps and other things with Ruby on Rails, we need to setup some software and the developer environment for your computer.
Follow the instructions for your operating system. If you run into any problems, don’t panic. Inform us at the event and we can solve it together.
Setup for macOS
1. Let’s check the version of the operating system.
Click the Apple menu and choose About this Mac.
2. In the window you will find the version of your operating system.
If your version number starts with 10.6, 10.7, 10.8, 10.9, 10.10, 10.11 or higher this guide is for you. If it’s something else, we can setup your machine at the event.
3a. If your OS X / macOS version is 10.9 or higher:
If your version number starts with 10.9, 10.10, 10.11 or higher, follow these steps. We are installing homebrew and rbenv.
3a1. Install Command line tools on terminal:
3a2. Install Homebrew:
3a3. Install rbenv:
3a4. Build Ruby with rbenv:
You can find the newest version of Ruby with the command “rbenv install -l”.
If you got “OpenSSL::SSL::SSLError: … : certificate verify failed” error, try it this way.
3a5. Set default Ruby:
3a6. Install rails:
3b. If your OS X version is 10.6, 10.7, or 10.8:
Download the RailsInstaller for your version of OS X:
- RailsInstaller for 10.7 and 10.8(325MB)
- RailsInstaller for 10.6(224MB)
Double click the downloaded file and it will unpack it into the current directory. Double click the the newly unpacked ‘RailsInstaller-1.0.4-osx-10.7.app’ or ‘RailsInstaller-1.0.4-osx-10.6.app’ and follow the instructions. It will open a README file with ‘Rails Installer OS X’ at the top. Please ignore the instructions in this file.
If the Rails version wasn’t the latest, you could update it using a following command on terminal.
4. Install yarn:
If you need more information than the following to install yarn, please check yarn’s installation docs.
5. Install a text editor to edit code files
For the workshop we recommend the text editor Atom.
If you are using Mac OS X 10.7 or older versions, you can use another editor Sublime Text 2. Just to make sure that you’re not mixing up using your terminal or text-editor: change the theme of your Sublime text-editor, choosing one of the following: “iPlastic”, “Slush & Poppies”, or “Zenburnesque”.
5. Check the environment
Check that everything is working by running the application generator command.
Should output Rails 6.0.0
(or a higher version).
Go to http://localhost:3000
in your browser, and you should see the ‘Yay! You’re on Rails!’ page.
Now you should have a working Ruby on Rails programming setup. Congrats!
Coach: We recommend to verify by using the scaffold command and inputting data with the generated page with coaches to ensure everything is working. Also: remove the test app myapp
to make super sure no-one is working in the wrong folder, following the steps of the workshop.
Setup for Windows
To install Rails for Windows we’ll need to install Ruby and several supporting tools such as Git, Node.js and SQLite. Follow the steps below in order to install these tools on your computer. When you’re done with these steps you will have a Rails app running on your computer.
During these steps we’ll ask you to open and close the Windows Command Prompt every now and then. This can be either the “Command Prompt” or “Powershell” app. We ask you to close and re-open it, because when the Command Prompt starts it loads in the environment. When we install a new app, the environment does not get automatically updated in the Command Prompt. To test if the installation was successful we need to restart the Command Prompt and load the new environment.
1. Install Ruby
- Download the RubyInstaller for Windows.
- Direct link to Ruby 2.6.5 installer with Devkit for 32-bit architecture.
- Run the installer. Click through the installer using all the default options.
- When prompted with the “MSYS2” installer, enter
1
and press Enter. - When prompted with the same “MSYS2” installer again, only press Enter.
- When prompted with the “MSYS2” installer, enter
2. Install Git
- Visit the Git installer for Windows download page.
- Click the link for the “32-bit Git for Windows Setup” installer to download it.
- Run the installer. Click through the installer using all the default options.
3. Install Node.js
- Visit nodejs.org/en/download.
- Select the “LTS” version tab, selected by default.
- From the “Windows Installer (.msi)” row, click the link for the 32-bit architecture to download it.
- Run the installer. Click through the installer using all the default options.
- Open the Windows Command Prompt and run the following command to check if the installation was successful. It should output a version number like
v12.16.0
(your version may differ).
- Close the Windows Command Prompt app.
3a. Install yarn
- Visit the yarn download page.
- Download the installer by clicking the “Download installer” button.
- Run the installer. Click through the installer using all the default options.
- Open the Windows Command Prompt and run the following command to check if the installation was successful. It should output a version number like
1.22.0
(your version may differ).
- Close the Windows Command Prompt app.
4. Install SQLite
- Visit sqlite.org/download.html
- Scroll down to the “Precompiled Binaries for Windows” section.
- Download the
sqlite-dll-win32-x86-xxxxxxx.zip
package (wherexxxxxxx
is the most recent version number). - Download the
sqlite-tools-win32-x86-xxxxxxx.zip
package (wherexxxxxxx
is the most recent version number). - Extract the packages.
- In Windows Explorer, open “This Computer” in the sidebar and open the
C:
local disk. - Create a directory called
sqlite3
. - Copy the files from the extracted packages into the
C:sqlite3
directory. As a result you will have the following files in that directory:sqldiff
,sqlite3.def
,sqlite3.dll
,sqlite3
andsqlite3_analyzer
. - Open the Windows Command Prompt and run the following command to add the
c:sqlite3
directory to the system PATH.- For Command Prompt users:
setx path '%path%;c:sqlite3'
- For Powershell users:
setx path 'c:sqlite3'
- For Command Prompt users:
- Close the Windows Command Prompt app.
- Re-open the Windows Command Prompt and run the following command to check if the installation was successful. It should output a version number like
3.31.1
(your version may differ).
- Close the Windows Command Prompt app.
5. Install Rails
- Open the Windows Command Prompt run the following command. This will install the Rails and bundler gems on your computer.
- Open the Windows Command Prompt and run the following command to check if the installation was successful. It should output a version number like
Rails 6.0.2.1
(your version may differ).
If you run into any problems during this step, check the Possible errors section for possible solutions.
6. Install a text editor to edit code files
For the workshop we recommend the text editor Atom.
- Visit the Atom download page.
- Click the
AtomSetup.exe
link to download Atom. - Run the installer. Click through the installer using all the default options.
- Click the
If you are using Windows Vista or older versions, you can use another editor Sublime Text 2. Just to make sure that you’re not mixing up using your command prompt or text-editor: change the theme of your Sublime text-editor, choosing one of the following: “iPlastic”, “Slush & Poppies”, or “Zenburnesque”.
7. Check the environment
Check that everything is working by running the application generator command.
Go to http://localhost:3000
in your browser, and you should see the “Yay! You’re on Rails!” page.
Now you should have a working Ruby on Rails programming setup. Congrats!
If you run into any problems during this step, check the Possible errors section for solutions.
Coach: We recommend to verify by using the scaffold command and inputting data with the generated page with coaches to ensure everything is working. Also: remove the test app myapp
to make super sure no-one is working in the wrong folder, following the steps of the workshop.
Setup for Linux
To install the Ruby on Rails development environment you just need to copy the lines below for your Linux distribution (Ubuntu or Fedora), paste it in the Terminal and press Enter. Enjoy the text flying on the screen; it will take quite some time. Grabbing a refreshing drink before starting is encouraged.
1. Install yarn
If you need more information than the following to install yarn, please check yarn’s installation docs.
For Ubuntu:
For Fedora:
2. Install Rails
For Ubuntu:
If you are going to use RVM installations with gnome-terminal, you’ll probably need to change it’s default options before you can see and use the right Ruby and Rails versions. Find out how: RVM documentation.
For Fedora:
Make sure that all works well by running the application generator command.
4. Install a text editor to edit code files
For the workshop we recommend the text editor Sublime Text.
- Download Sublime Text and install it. Just to make sure that you’re not mixing up using your terminal or text-editor: change the theme of your Sublime text-editor, choosing one of the following: “iPlastic”, “Slush & Poppies”, or “Zenburnesque”.
5. Check the environment
Check that everything is working by running the application generator command.
Go to http://localhost:3000
in your browser, and you should see the ‘Yay! You’re on Rails!’ page.
Now you should have a working Ruby on Rails programming setup. Congrats!
Coach: We recommend to verify by using the scaffold command and inputting data with the generated page with coaches to ensure everything is working. Also: remove the test app myapp
to make super sure no-one is working in the wrong folder, following the steps of the workshop.
Virtual Machine
Atom Text Editor Windows
Instead of installing all tools on your machine, you can also set up a development environment in a Virtual Machine. Please find all the details here.
Using a Cloud Service
Atom Text Editor 10.7 Free
Instead of installing Ruby on Rails and an editor on your computer, you can use a webservice for development. All you need is a browser and an internet connection. This guide explains how to get started with codenvy.io. If you’re using a different service, they may use a different wording, but the process is usually pretty similar.
1. Create an account
Go to codenvy.io and signup for free.You will need to confirm your email and then fill in your details.
2. Setup a workspace for Ruby on Rails
The Ruby on Rails Workspace has all the software we need for the workshop already preinstalled.To create a workspace, log into codenvy.io and click on ‘Dashboard’.If no workspace has been created yet, the ‘New Workspace’ view is displayed.
In the ‘New Workspace’ view, a few settings have to be made.
- Give the workspace a name of your choice. In the example this is “railsgirls”.
- From “Select Stack”, select “Quick Start”, scroll down and select “Rails”
- Now click on ‘Create’ to create the workspace (it takes a moment for the process to finish)
- Codenvy creates a folder ‘/projects’ during initialization,in which you can later put your code.
- Observation: Even thought there is a Create Project button in the Explorer, it is better to use the console to create the app project (see next step #3).
3. Find and restart your workspace
- If you’ve just created your project, you can probably skip these steps - they’re good to know if you login to Codenvy again later
- If you haven’t used your workspace or projects in a while, they might have been shutdown due to inactivity.You will notice an empty circle displayed next to the workspace name.
- In this case simply click on the name of the workspace. It will then be restarted (which can take a while) and afterwards opened.
- If you have restarted a workspace, you need to run the
bundle
command again in the directory of your Rails project (you will learn more about the command in the app tutorial)
4. Coding with your project
- On the left hand side, you find a file browser where you can navigate your directories and file
- In the middle, you find the editor where you can modify your files
- At the bottom, you find the terminal where you can run commands
- Everything you need is right here in you browser window - you do not need to start an editor or terminal anywhere else
- If you are following a guide or tutorial, use the commands for Linux even if you are on a Windows computer - your operating system does not matter, since all commands are run on your project’s machine in the cloud, which is running Linux
- If a guide or tutorial asks you to run a rails command that contains
rails
orrake
, prependbundle exec
to this command, e. g.bundle exec rails db:migrate
. Exception: therails new
command is not prefixed. - If a guide or tutorial asks you to start the rails server with
rails server
orrails s
, append-b 0.0.0.0
to this command so that you runrails server -b 0.0.0.0
If a guide or tutorial asks you to point your browser to something like
http://localhost:3000
, follow these instructions instead:Go to ‘Workspaces’ and click your running workspace
Click ‘Runtime’, then ‘dev-machine’ to view the details
Scroll down to ‘Servers’, and copy the Address entry in the line startingwith ‘server-3000-tcp’
For example, if the tutorial wants you to visit
http://localhost:3000/posts
, you would open the URLhttp://node3.codenvy.io:33079/posts
instead.
Possible errors during installation
Gem::RemoteFetcher error
If you get this error when running rails new railsgirls
or gem update rails
:
This means you have an older version of Rubygems and will need to update it manually first verify your Rubygems version
If it is lower than 2.6.5
you will need to manually update it:
First download the ruby-gems-update gem. Move the file to c:rubygems-update-2.6.11.gem
then run:
Check your version of rubygems
Make sure it is equal or higher than 2.6.11
. Re-run the command that was failing previously.
If you are still running into problems you can always find the latest version of rubygems online at rubygems.org. If you click on GEM you will get the latest version.
During bundle install
The Gem::RemoteFetcher::FetchError: SSL_connect
can also occur during the bundle install
stage when creating a new rails app.
Atom Text Editor 10.7 Download
The error will make mention of bit.ly/ruby-ssl. What is relevant for Windows users at this point is this GitHub gist. The described manual way has proven to be successful to solve the bundle install
error.
‘x64_mingw’ is not a valid platform Error
Sometimes you get the following error when running rails server
:'x64_mingw' is not a valid platform
If you experience this error after using the RailsInstaller you have to do a small edit to the file Gemfile
:
Look at the bottom of the file. You will probably see something like this as one of the last lines in the file:gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
. If you have this line with :x64_mingw
, then please delete the :x64_mingw
part. In the end it should just say:'tzinfo-data', platforms: [:mingw, :mswin]
After you did that, please use your Command Prompt again and type bundle update
.
The sqlite3 gem failed to install
When running rails new myapp
the sqlite3
gem may fail to install. When this happens, first close the Windows Command Prompt app. Then re-open the Windows Command Prompt.
Atom Text Editor 10.7 Serial
Next, install the sqlite3
gem separately from the rails
gem by running the following command:
If this succeeds, remove the myapp
directory the rails installer created and return to the installation instructions, to run rails new myapp
again.
Other Guides
- Guide 1: Guide to install Rails (Current page!)
- Guide 2: Build Your First App
- Guide 3: Push Your App to GitHub
- Guide 4: Put your app online with…
- Guide 5: Allow Comments on Your App
- Guide 6: Add design using HTML & CSS
- Guide 7: Create thumbnails with Carrierwave
- Guide 8: Add Authentication (user accounts) with Devise
- Guide 9: Add Profile Pics with Gravatar
- Guide 10: Improve your design with HTML and CSS
- Guide 11: Continuous Deployment
- Guide 12: Build a voting app in Sinatra
- Guide 13: Build a diary app in Ruby on Rails
- Guide 14: Add a back-end to your app (admin pages)
- Guide 15: Go through additional explanations for the App