Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

"geddy app abc" fails on fresh geddy v0.4.7 #212

Closed
mistermojo opened this Issue · 12 comments

5 participants

@mistermojo

I did not install geddy before so, I ran:

sudo npm install -g geddy
...
geddy@0.4.7 /usr/lib/node_modules/geddy
├── utilities@0.0.13
├── barista@0.0.7 (inflection@1.2.3)
└── jake@0.3.17 (minimatch@0.2.7)

Then:

$ geddy app todo_app

/usr/lib/node_modules/geddy/bin/cli.js:177
throw err;
^
Error: Command failed: /bin/sh: jake: command not found

at ChildProcess.exithandler (child_process.js:540:15)
at ChildProcess.EventEmitter.emit (events.js:96:17)
at maybeClose (child_process.js:638:16)
at Socket.ChildProcess.spawn.stdin (child_process.js:815:11)
at Socket.EventEmitter.emit (events.js:93:17)
at Socket._destroy.destroyed (net.js:357:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)

I googled and found that there was a similar issue during 0.2:
#67

The solution was to do a

sudo npm install -g jake

Thing is, should this issue be repeating? True, all it takes is some googling and deduction. However when following the tutorial at http://geddyjs.org/tutorial.html and hitting a show-stopper like this leaves a bad impression.

The npm auto install of jake should probably be removed and the tutorial edited to include:

"""
geddy requires the jake module. Install jake globally:

sudo npm install -g jake
"""

Right after the "npm install geddy" part.

Cheers!

@mde
Owner
mde commented

You're right, this has historically been a big problem -- there's no way to specify that a dep in package.json has to be installed globally. Even the "prefer global" flag in Jake's package.json doesn't help this.

The newest version of Geddy (0.5), which will likely be out in the next couple of days doesn't have this problem, as it uses the local Jake pulled down by NPM. You can try this out by grabbing the latest master. We'd love to have more people banging on it before we release.

Thanks!

@polotek
@MiguelMadero

Not sure what do you mean by internal jake, but installing geddy will also install jake locally in npm_modules and I this should fix the mentioned problem.

As a side note, this gives you a weird warning saying that Jake should be installed globally, but it all works fine.

@MiguelMadero

@mistermojo if you install from master, please use the tutorial in site/tutorial.html there were a few changes.

Thanks

@polotek

@MiguelMadero yes that's what I meant. If geddy has jake as a dependency, this shouldn't be a problem. But yeah you will still get the warning that says jake should be installed globally. That's an npm feature and usually it is true. But it's just a warning and can be ignored.

@mde
Owner
mde commented

Installing Geddy has always given you a local copy of Jake, because it's in the package.json as a dependency. Previous to 0.5, it never actually used it, and expected to use the global jake CLI which you could only get by installing Jake globally. As of 0.5, Geddy uses the local Jake as a require'd program, not shelling out to the CLI.

@MiguelMadero

I forgot about the change in the CLI. I thought the difference was because of the installation as well since the Makefile now npm install's jake.

Thanks

@mistermojo

@mde: I'll git-grab master directly from github then, thanks. (I'll close this now)

@MiguelMadero: Thanks for the tip. I'll follow the tutorial from 5.0's site/tutorial.html (and report any issues). Please put it on the website as soon as 0.5.0 is out to prevent confusion by noobs like me.

@mistermojo mistermojo closed this
@mistermojo mistermojo reopened this
@mistermojo

Sorry for reopening this but there's no site/tutorial.html only in site-old/tutorial.html. Where's the latest version?

@mde
Owner
mde commented

Looks like "site" is @Techwraith's work on the new site that will be ready in a couple of days. The updated tutorial is in "site-old."

@mistermojo

OK, cheers!

@mistermojo mistermojo closed this
@Techwraith
Owner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.