It sounds like you're installed npm packages with dependencies (coho, cordova-js) and not running "npm install". That command will install all their dependencies locally.
In particular that's what's wrong with grunt-cli vs. grunt: the intended flow is that you install grunt-cli globally, and that gives you a grunt command. That command is a thin wrapper the looks up your directory structure until it finds a node_modules/grunt, and then runs that locally installed grunt version. Braden On Wed, Aug 14, 2013 at 6:50 PM, James Jong <[email protected]> wrote: > Becky, I would update your cordova-ios project. There was a recent change > to remove it (CB-4281). > -James Jong > > On Aug 14, 2013, at 5:33 PM, Becky Gibson <[email protected]> wrote: > > > OK, I think the linker problem is because CDVEcho.m is included twice. I > > see it in plugins dir under org.apache.cordova.test.echo/src/ios/ and in > > platforms/ios/cordovalib/classes/. I'm guessing this has something to do > > with the dependencies for mobilespec? > > > > thanks, > > -becky > > > > > > On Wed, Aug 14, 2013 at 5:05 PM, Becky Gibson <[email protected] > >wrote: > > > >> I found a few bugs in iOS media capture and media that I would like to > >> fix. I need to get set up for 3.0 so I followed the instructions here: > >> http://wiki.apache.org/cordova/WorkingWithThree. Since I didn't have > any > >> 3.0 clones I started by cloning. > >> > >> Here are a few issues that I ran into that did not seem to be > documented: > >> > >> - In order for the coho clone command to work I needed to install > >> optimist, shelljs and request. I tried to install optimist globally > but > >> that didn't work so I ended up installing all of these locally in my > >> cordova-coho directory to get things working. > >> - I had to blindly cut and paste the coho clone from the > >> WorkingWithThree wiki page since I couldn't find any documentation > for the > >> clone command. > >> - I edited .cordova/config.json as indicated in the instructions but > >> then running the cordova platform add command kept giving me a syntax > >> error: unexpected string. I went back to the default config.json and > the > >> platform add command worked correctly. > >> - Since I was starting from scratch I had to also clone cordova-js > >> - I followed the instructions for the cordova-js readme and installed > >> grunt via: sudo npm install -g grunt-cli When I tried to run grunt > >> to build cordova-js I got the message that it should be installed > locally: Fatal > >> error: Unable to find local grunt. Based on the original instructions > >> I installed grunt-cli locally - that didn't work so I installed grunt > >> locally. > >> - I could build the platform js files but got the following error: > >> > >> Running "_test" task > >> > >> starting node-based tests > >> > >> Warning: can't run tests in node: run grunt btest instead, or install > >> jsdom via: npm install Use --force to continue. > >> > >> > >> Since I didn't care about the tests (at this point I didn't worry about > >> the error - however I'm still not sure what I should be installing). > >> > >> I opened the created mobilespec project in xcode but the build failed > when > >> linking. I did make the mistake of opening it in xcode 5 (beta 5) > before > >> trying it in 4.6 so my project settings may have been messed up by > xcode > >> 5. I'll tackle that tomorrow but I wanted to get the installation > >> information documented before I forgot. > >> > >> -becky > >> > >> > >> > >> > >> > >> > >
