I have been just tasked to learn Rails for a new project and have been
given Mac machine for it. I have never used a Mac / Linux ever. I have
used Rails before on Windows. I need to set up Rails development env
on this Mac machine. Its Mac OS X - Snow Leopard. The development
environment needs Rails 2.3.5, GIT client and MySQL. We are still
swaying between using Mongreal or Apache locally, because the
production will be in Apache.
Can someone advise what the best practices, best tools, editors, etc
to set up Rails development env locally on a Mac? Apologize for the v
basic question.
There are some wonderful guides out there for this. Rails works great
out-of-the-box on OS X.
Out of the editors I’ve used, I believe textmate is the best. It’s
visually pleasing and very extensible. It also is the text editor seen
in the famous “Rails Casts” from 37Signals. http://macromates.com/
I use Textmate in combination with Panic’s Transmit ftp software
(Transmit 5) and Firefox armed with Firebug as my
environment. I find it highly productive. (I love textmate and it
seems to be one of the posterchild editors for Rails, but it will take
some time to get used to. It has a lot of great features)
You have a few options for your Rails installation…
I have been just tasked to learn Rails for a new project and have been
given Mac machine for it. I have never used a Mac / Linux ever. I have
used Rails before on Windows. I need to set up Rails development env
on this Mac machine. Its Mac OS X - Snow Leopard. The development
environment needs Rails 2.3.5, GIT client and MySQL. We are still
swaying between using Mongreal or Apache locally, because the
production will be in Apache.
Use Apache locally too. It’s simple, Apache is already installed on
Snow
Leopard. Install Passenger and configure it (which you’ll need to learn
how
to do for production anyway). Update your gems on Snow Leopard (as
Rails is
also already installed on Snow Leopard) and away you go.
Can someone advise what the best practices, best tools, editors, etc
to set up Rails development env locally on a Mac? Apologize for the v
basic question.
As I said, you already have Rails and Apache ready to go. You need to
install MySQL (or use sqlite in development) and that’s it. I
personally
use TextMate, but RubyMine looks awesome if you don’t mind the lag for
Java-based IDEs to start up.
Substitute mysql for postgresql and drop the nginx install and most of
the steps are the same.
Personally, I use Ruby Enterprise Edition as installed from Homebrew,
too and it works well for managing RubyGems without sudo (passenger is
included in the install). It’s what I use in production, so it makes
my development environment more closely match what I’m using in
production.
I have been just tasked to learn Rails for a new project and have been
given Mac machine for it. I have never used a Mac / Linux ever. I have
used Rails before on Windows. I need to set up Rails development env
on this Mac machine. Its Mac OS X - Snow Leopard. The development
environment needs Rails 2.3.5, GIT client and MySQL. We are still
swaying between using Mongreal or Apache locally, because the
production will be in Apache.
Use Apache locally too. It’s simple, Apache is already installed on
Snow
Leopard. Install Passenger and configure it (which you’ll need to learn
how
to do for production anyway).
What a waste of effort IMHO. I’ve never used anything but Mongrel
locally. It works fine n
Update your gems on Snow Leopard (as
Rails is
also already installed on Snow Leopard) and away you go.
Can someone advise what the best practices, best tools, editors, etc
to set up Rails development env locally on a Mac? Apologize for the v
basic question.
As I said, you already have Rails and Apache ready to go. You need to
install MySQL (or use sqlite in development) and that’s it. I
personally
use TextMate, but RubyMine looks awesome if you don’t mind the lag for
Java-based IDEs to start up.
Please don’t bother with an IDE for Rails; it doesn’t need or want one.
KomodoEdit rocks.
Check out Mac - Official Apple Support . Consider iTerm as a
more powerful substitute for Terminal.app . If you’re using Git, get
GitX.
Use Apache locally too. It’s simple, Apache is already installed on
Snow
Leopard. Install Passenger and configure it (which you’ll need to learn
how
to do for production anyway).
What a waste of effort IMHO. I’ve never used anything but Mongrel
locally. It works fine n
What effort? It’s 4 lines of typing to get Passenger installed:
gem install passenger
passenger-install-apache2-module
(copy the suggested lines and paste into…)
mate /etc/apache2/httpd.conf
sudo apachectl restart
Download the Passenger Preferences Pane ( http://github.com/alloy/passengerpane/downloads) to be able to set up
new
sites easily using a GUI. Much easier than setting up Mongrel as a
daemon
to serve multiple sites in the background.
How do you set up Mongrel that’s easier (from scratch) than the above?
I’m
assuming you’re not just working on a single Rails site and just do
“rails
s” or “script/server” when you need it up (I have locally running
websites
available all the time).
Use Apache locally too. It’s simple, Apache is already installed on
Snow
Leopard. Install Passenger and configure it (which you’ll need to learn
how
to do for production anyway).
What a waste of effort IMHO. I’ve never used anything but Mongrel
locally. It works fine n
What effort? It’s 4 lines of typing to get Passenger installed:
gem install passenger
passenger-install-apache2-module
(copy the suggested lines and paste into…)
mate /etc/apache2/httpd.conf
sudo apachectl restart
Yes, but “script/server -u” is even easier. I love Passenger on
servers, but there’s no advantage to using it on a dev machine.
Download the Passenger Preferences Pane ( http://github.com/alloy/passengerpane/downloads) to be able to set up
new
sites easily using a GUI. Much easier than setting up Mongrel as a
daemon
to serve multiple sites in the background.
How do you set up Mongrel that’s easier (from scratch) than the above?
I’m
assuming you’re not just working on a single Rails site and just do
“rails
s” or “script/server” when you need it up (I have locally running
websites
available all the time).
I don’t see the point of that on a development machine either. I can’t
imagine a use case in which I’d need multiple Rails sites running
simultaneously on my development machine. I just type script/server for
whatever project I’m working on at a given time.
How do you set up Mongrel that’s easier (from scratch) than the above?
I’m
assuming you’re not just working on a single Rails site and just do
“rails
s” or “script/server” when you need it up (I have locally running
websites
available all the time).
I don’t see the point of that on a development machine either. I can’t
imagine a use case in which I’d need multiple Rails sites running
simultaneously on my development machine. I just type script/server for
whatever project I’m working on at a given time.
I have to agree with Marnen on this point. I don’t run services on my
machines that are unnecessary. I don’t have Apache running all the time.
It’s not like I server web sites from my laptop. I don’t run MySQL on my
development box all the time. I don’t develop multiple-sites
concurrently, so I see no point in having them running all the time.
I’m quite happy with ./script/server, which I aliased as ‘ss’ in my
profile so I just type ss in my already running terminal window and my
site it up and running with Mongrel. And, given that Mongrel is
pre-installed by Apple, there’s nothing to install, keeping my
development machine just that much cleaner.
P.S. +1 to whoever mentioned Homebrew. Finally an alternative to
macports that I can be happy with. self => “macports hater”
On Sat, Jun 19, 2010 at 4:26 AM, Marnen Laibow-Koser [email protected] wrote:
Ruby!!!11!!one!" than anything else, unless I’m missing something.
You are missing something. Both Fink and MacPorts push the user
towards using an alternative directory structure (/sw for Fink, /opt)
rather than use /usr/local. Some people like this alternative path
structure as it can be easy to clean out, etc.
However, using either, when a package wasn’t available, I often would
build from source under /usr/local and end up with two directory
structures, one for packages and one built from source. A pain.
Both systems required mucking with you PATH, etc. to maintain this
alternative software repository.
Both systems are ports of other platforms’ (Fink is Debian apt style,
MacPorts is FreeBSD ports style) software packaging systems and don’t
feel quite right on a Mac to me. Homebrew was a fresh approach to the
problem that also is a simplification and realizes the existing intent
of /usr/local in the *nix architecture. As such it also realizes
that sudo/root to install packages is usually unnecessary and is not a
beneficial idiom.
I preferred MacPorts over Fink for a long time. My biggest gripe with
it was that packages were way behind the times. The community wasn’t
there. Homebrew’s biggest advantage is probably that it is very easy
to submit/update a package for a software library via being on github.
Fork, update Homebrew, pull request, and you are done. Use your fork
instead of the canonical Homebrew repository if you have custom needs,
etc.
The easiness of getting the pieces of software you need into the
system via Github makes the system stay grow rabidly and also keeps it
fresh.
P.S. +1 to whoever mentioned Homebrew. Finally an alternative to
macports that I can be happy with. self => “macports hater”
Really, what’s the deal about macports? I find it works quite well. What
problems does homebrew solve?
Yeah. I don’t much like MacPorts either, but Fink seems like a better
alternative than Homebrew (though I can imagine that changing at some
point). The enthusiasm for Homebrew seems more like “ZOMG it’s
Ruby!!!11!!one!” than anything else, unless I’m missing something.