In order to run Yeoman properly you’ll require a few dependencies like Command Line Tools for Xcode, Homebrew, NodeJS, git, NodeJS, ruby, RubyGems, Compass, jpegtran, optipng, yeoman global npm module and the most important puzzle piece and part of today’s discussion; PhantomJS.
What is PhantomJS?
Why are we talking about PhantomJS today?
The reason I mention PhantomJS today is because I came across some difficulties on my Mac when running
curl -L get.yeoman.io | bash (this command runs an audit script to determine which dependencies are or are not installed for Yeoman to function properly). Unfortunately, the output of this command returned the following in my case:
PhantomJS not installed. Good news though, here’s the run down I went through which will guide you towards a solution –at least what I found to work for me.
NOTE: The following directions assume you have Homebrew installed. I will not be discussing Homebrew and the installation process.
First Update Homebrew
When I was updating brew I was using the following command…
The problem I ran into was the following error output…
Error: Failed while executing git pull http://github.com/mxcl/homebrew.git master The following untracked working tree files would be overwritten by merge: Please move or remove them before you can merge. Library/Formula/argp-standalone.rb Library/Formula/lbdb.rb Library/Formula/pbrt.rb
After much scanning and IRC chatting I found the fix on this Github Issue Tracker thread.
Now Install PhantomJS
Ok, so now that the problem with brew update was out of the way I needed to install phantom…
brew install phantomjs
Of course I got yelled at in the output with the following message…
Error: phantomjs-1.7.0 already installed, it's just not linked
Just Link Phantom Right?
Well it did sound simple but…
brew link phantomjs
Gave me this…
Error: Linking /usr/local/Cellar/phantomjs/1.7.0... Warning: Could not link phantomjs. Unlinking... Error: Could not symlink file: /usr/local/Cellar/phantomjs/1.7.0/bin/phantomjs /usr/local/bin/phantomjs may already exist. /usr/local/bin may not be writable.
I bet you’re thinking about running
sudo brew link phantomjs right about now –right?
Shit! Fuck! Shit!
Calm down we still got you covered. So
sudo didn’t work out after all. Instead of running
sudo, It’s recommended to
To do so, run the following command in your Terminal…
sudo chown -R $USER /usr/local
Just remember to replace
$USER with your username, but If you did it without changing the
$USER part it’s the same if
$USER will normally be the same as your current name.
Boo Boo all Better
The crummy part is out of the way now because all you have to do is run
brew link phantomjs one final time and you’re all good! PhantomJS should be installed at last. Happy Yeoman-ning. Questions? Ask.