tower-archive / tower

UNMAINTAINED - Small components for building apps, manipulating data, and automating a distributed infrastructure.
http://tower.github.io
MIT License
1.79k stars 120 forks source link

Can't install Tower via NPM :( #261

Closed iMagdy closed 12 years ago

iMagdy commented 12 years ago

When I type sudo npm install tower -g it gives me the following after installing all the dependencies:

npm ERR! Failed at the tower@0.4.1 postinstall script. npm ERR! This is most likely a problem with the tower package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! npm install git://github.com/viatropos/coffeecup.git --force && npm install git://github.com/viatropos/coffee-script.git --force npm ERR! System Linux 3.2.0-23-generic npm ERR! command "nodejs" "/usr/bin/npm" "install" "-g" npm ERR! cwd /var/www/nodejs/tower npm ERR! node -v v0.8.8 npm ERR! npm -v 1.1.59 npm ERR! code ELIFECYCLE npm ERR! npm ERR! Additional logging details can be found in: npm ERR!     /var/www/nodejs/tower/npm-debug.log npm ERR! not ok code 0

lancejpollard commented 12 years ago

The error is most likely because of the && in this postinstall script:

npm install git://github.com/viatropos/coffeecup.git --force && npm install git://github.com/viatropos/coffee-script.git --force

We had issues with that on windows before. It turns out the Mac supports && and ; as separators when running multiple commands on a single line. So you can also do this on a Mac:

npm install git://github.com/viatropos/coffeecup.git --force ; npm install git://github.com/viatropos/coffee-script.git --force

I am not very familiar with Linux, if you try running either of these commands what is the output?

lancejpollard commented 12 years ago

Here are some of the issues we were facing with that script on windows:

https://gist.github.com/3442680#gistcomment-407106

I may bundle this into a node script to avoid this in the future, but first let's see if we can fix it for your system. Let me know how it goes.

iMagdy commented 12 years ago

It's so weird, didn't work for me, I'm using Ubuntu Server 12.04. Linux normally understand && without an issue.

I tried "sudo install tower -g" in a coworker machine, the installation completed successfully, but when I type "tower new app", it says, command not found. :(

It's the first time I see this issue, I tried Geddy, Flatiron, RailwayJS, they're all installed without any issues, I think it's something in the package, but I'm not sure what exactly is this :(

Can you verify this on a Linux machine? VM?

edubkendo commented 12 years ago

I've installed tower on Ubuntu 12.04 multiple times. It can be installed. Don't use "sudo" though. Take ownership of the folder.

autoferrit commented 12 years ago

Heres how the OS's support those characters:

;
&

Windows. same as ; for linux/mac linux/mac: totally different purpose. this will run the command entirely in the background and continue the next thing whether or not the first command is done. when the command is done, it will finish normally.

&&

I believe this method, is the same on all systems. this will run each command in succession. on at a time. however, as soon as one command fails, any further commands will not be processed and the entire line will completely stop regardless of what is after the next &&

autoferrit commented 12 years ago

as for having to run sudo, on linux I installed node from source. although i did this:

$ ./configure --prefix=/home/shawn/lib/node
$ make
$ make install

this will install node into your home directory. and any time you install something globally from npm with

$ npm install [package] -g
$ npm link

you wont have to use the sudo command. because all the node_modules are in your home directory. when I did this, it seemed to prevent various issued i had with permissions in node/npm/tower.

edubkendo commented 12 years ago

yeah that's another equally valid approach. I've also had it set up this way. I changed it at some point because I ran into an issue and thought this was causing the problem. It turned out not to be, but I never changed it back. In fact, I might do that, because it is a cleaner approach.

iMagdy commented 12 years ago

I tried this tutorial: https://www.digitalocean.com/community/articles/how-to-install-node-js-on-ubuntu-12-04 To install NodeJS as a local user instead of root, and then ran the command npm install tower, and it succeeded! I got this:

coffeecup@0.3.11 node_modules/coffeecup ├── optparse@1.0.3 ├── uglify-js@1.3.3 └── stylus@0.29.0 (debug@0.7.0, mkdirp@0.3.4, cssom@0.2.5) tower@0.4.1 node_modules/tower ├── ember-states-node@0.9.7-1-1 ├── knox@0.0.11 ├── temp@0.4.0 ├── underscore.logger@0.3.1 ├── inflection@1.2.3 ├── wrench@1.3.9 ├── node-uuid@1.3.3 ├── async@0.1.22 ├── mime@1.2.7 ├── URIjs@1.7.2 ├── ember-runtime-node@0.9.7-1-1 ├── ember-metal-node@0.9.7-1-1 ├── validator@0.4.11 ├── mint@0.3.5 ├── ejs@0.8.2 ├── underscore@1.3.3 ├── underscore.string@2.2.0rc ├── qs@0.5.0 ├── coffee-script@1.3.2 ├── accounting@0.3.2 ├── gm@1.4.2 ├── moment@1.7.0 ├── commander@1.0.4 (keypress@0.1.0) ├── useragent@1.1.0 (yamlparser@0.0.2, semver@1.0.14, request@2.9.202) ├── superagent@0.9.0 (methods@0.0.1, emitter-component@0.0.1, cookiejar@1.3.0, qs@0.4.2, mime@1.2.5, formidable@1.0.9) ├── geolib@1.1.8 (googlemaps@0.1.7) ├── express@2.5.11 (qs@0.4.2, mime@1.2.4, mkdirp@0.3.0, connect@1.9.2) ├── pathfinder@0.3.0-1 (mkdirp@0.3.4, detective@0.2.1, findit@0.1.2) ├── socket.io@0.9.10 (policyfile@0.0.4, redis@0.7.2, socket.io-client@0.9.10) └── nodemailer@0.3.25 (optimist@0.3.4, simplesmtp@0.1.21, mailcomposer@0.1.19)

But when I type tower in the terminal, I get:

imagdy@imagdy:/var/www$ tower No command 'tower' found, did you mean: Command 'towers' from package 'sgt-puzzles' (universe) tower: command not found

:(

iMagdy commented 12 years ago

O, I forgot to add the -g to the Tower installation line, but when I did that (npm install tower -g) I got:

imagdy@imagdy:/var/www$ tower new todos

module.js:340 throw err; ^ Error: Cannot find module '../lib/tower' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:362:17) at require (module.js:378:17) at Object. (/home/imagdy/local/lib/node_modules/tower/bin/tower:2:1) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.runMain (module.js:492:10)

edubkendo commented 12 years ago

try this: cd into the tower directory and run "make watch". That should create the missing library.

@viatropos shouldn't the version on npm have this step already completed though?

iMagdy commented 12 years ago

Thanks Edubkendo, I did it and got this:

imagdy@imagdy:~/node-latest-install/node_modules/tower$ make watch grunt start --config ./grunt.coffee Loading "grunt.coffee" tasks and helpers...ERROR

Error: Cannot find module './build/tasks'

Task "start" not found. Use --force to continue.

Aborted due to warnings. make: *\ [watch] Error 3

edubkendo commented 12 years ago

try :

npm install -g grunt

Then, when that finishes, try

make watch

in the tower directory again. Don't forget the -g when you install grunt.

edubkendo commented 12 years ago

also, and this is odd, I just ran "npm install tower" in an empty directory just to see what was getting installed, and it had everything it needed. I'm wondering something else. Did you remove all the old stuff from your earlier attempts before you did this new install of node and tower? If any of that stuff is hanging around, it may be looking at the wrong tower.

iMagdy commented 12 years ago

I installed Grunt, with the -g parameter, then I got:

grunt@0.3.15 /home/imagdy/local/lib/node_modules/grunt ├── dateformat@1.0.2-1.2.3 ├── colors@0.6.0-1 ├── semver@1.0.14 ├── async@0.1.22 ├── hooker@0.2.3 ├── underscore@1.2.4 ├── underscore.string@2.1.1 ├── uglify-js@1.3.3 ├── nopt@1.0.10 (abbrev@1.0.3) ├── temporary@0.0.4 (package@1.0.1) ├── gzip-js@0.3.1 (crc32@0.2.2, deflate-js@0.2.2) ├── glob-whatev@0.1.8 (minimatch@0.2.6) ├── jshint@0.5.9 (argsparser@0.0.6, minimatch@0.2.6) ├── connect@2.4.5 (fresh@0.1.0, pause@0.0.1, bytes@0.1.0, cookie@0.0.4, crc@0.2.0, debug@0.7.0, qs@0.4.2, formidable@1.0 .11, send@0.0.4) ├── prompt@0.1.12 (pkginfo@0.2.3, winston@0.5.11) └── nodeunit@0.7.4 (tap@0.3.1)

Then make watch gave me: grunt start --config ./grunt.coffee Loading "grunt.coffee" tasks and helpers...ERROR

Error: Cannot find module './build/tasks'

Task "start" not found. Use --force to continue.

Aborted due to warnings. make: *\ [watch] Error 3

iMagdy commented 12 years ago

I think I removed all the old stuff, that's why npm is keeping on installing packages into my home folder.

edubkendo commented 12 years ago

look at the contents of the tower folder and see what's in there. Should have bin build dist lib node_modules packages test tmp

iMagdy commented 12 years ago

I have these: imagdy@imagdy:~/node-latest-install/node_modules/tower$ ll total 100 drwxrwxr-x 5 imagdy imagdy 4096 Sep 6 22:23 ./ drwxrwxr-x 4 imagdy imagdy 4096 Sep 6 22:23 ../ drwxrwxrwx 2 imagdy imagdy 4096 Sep 1 14:10 bin/ -rw-rw-rw- 1 imagdy imagdy 5080 Sep 1 14:10 grunt.coffee -rw-rw-rw- 1 imagdy imagdy 248 Sep 1 14:10 index.js -rw-rw-rw- 1 imagdy imagdy 1571 Sep 1 14:10 INSTALL.md -rw-rw-rw- 1 imagdy imagdy 948 Sep 1 14:10 Makefile -rw-rw-rw- 1 imagdy imagdy 1121 Sep 1 14:10 MIT-LICENSE.md drwxrwxr-x 34 imagdy imagdy 4096 Sep 6 22:25 node_modules/ -rw-rw-rw- 1 imagdy imagdy 120 Sep 1 14:10 .npmignore -rw-rw-rw- 1 imagdy imagdy 26898 Sep 6 22:21 package.json drwxrwxrwx 16 imagdy imagdy 4096 Sep 6 22:21 packages/ -rw-rw-rw- 1 imagdy imagdy 23040 Sep 1 14:10 README.md

iMagdy commented 12 years ago

I don't have these: "build", "dist", "lib", "test", "tmp"

edubkendo commented 12 years ago

ok, its missing like, everything. try running

npm cache clean

then

npm install -g tower

See if it installs those folders.

iMagdy commented 12 years ago

Same thing same thing.. Here's the whole story:

imagdy@imagdy:~/node-latest-install/node_modules/tower$ npm cache clean imagdy@imagdy:~/node-latest-install/node_modules/tower$ cd .. imagdy@imagdy:~/node-latest-install/node_modules$ npm install -g tower npm http GET https://registry.npmjs.org/underscore npm http GET https://registry.npmjs.org/underscore.string npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/underscore.logger npm http GET https://registry.npmjs.org/mint npm http GET https://registry.npmjs.org/ejs npm http GET https://registry.npmjs.org/pathfinder npm http GET https://registry.npmjs.org/commander npm http GET https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/socket.io npm http GET https://registry.npmjs.org/useragent npm http GET https://registry.npmjs.org/URIjs npm http GET https://registry.npmjs.org/moment npm http GET https://registry.npmjs.org/node-uuid npm http GET https://registry.npmjs.org/geolib npm http GET https://registry.npmjs.org/validator npm http GET https://registry.npmjs.org/accounting npm http GET https://registry.npmjs.org/inflection npm http GET https://registry.npmjs.org/superagent npm http GET https://registry.npmjs.org/ember-metal-node npm http GET https://registry.npmjs.org/ember-runtime-node npm http GET https://registry.npmjs.org/ember-states-node npm http GET https://registry.npmjs.org/wrench npm http GET https://registry.npmjs.org/temp npm http GET https://registry.npmjs.org/knox/0.0.11 npm http GET https://registry.npmjs.org/gm npm http GET https://registry.npmjs.org/nodemailer npm http 200 https://registry.npmjs.org/underscore.string npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz npm http 200 https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/qs/-/qs-0.5.0.tgz npm http 200 https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/mime/-/mime-1.2.7.tgz npm http 200 https://registry.npmjs.org/underscore npm http GET https://registry.npmjs.org/underscore/-/underscore-1.3.3.tgz npm http 200 https://registry.npmjs.org/underscore.logger npm http GET https://registry.npmjs.org/underscore.logger/-/underscore.logger-0.3.1.tgz npm http 200 https://registry.npmjs.org/mint npm http GET https://registry.npmjs.org/mint/-/mint-0.3.5.tgz npm http 200 https://registry.npmjs.org/pathfinder npm http GET https://registry.npmjs.org/pathfinder/-/pathfinder-0.3.0-1.tgz npm http 200 https://registry.npmjs.org/ejs npm http GET https://registry.npmjs.org/ejs/-/ejs-0.8.2.tgz npm http 200 https://registry.npmjs.org/useragent npm http GET https://registry.npmjs.org/useragent/-/useragent-1.1.0.tgz npm http 200 https://registry.npmjs.org/commander npm http GET https://registry.npmjs.org/commander/-/commander-1.0.4.tgz npm http 200 https://registry.npmjs.org/URIjs npm http GET https://registry.npmjs.org/URIjs/-/URIjs-1.7.2.tgz npm http 200 https://registry.npmjs.org/moment npm http GET https://registry.npmjs.org/moment/-/moment-1.7.0.tgz npm http 200 https://registry.npmjs.org/node-uuid npm http GET https://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz npm http 200 https://registry.npmjs.org/geolib npm http GET https://registry.npmjs.org/geolib/-/geolib-1.1.8.tgz npm http 200 https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz npm http 200 https://registry.npmjs.org/accounting npm http GET https://registry.npmjs.org/accounting/-/accounting-0.3.2.tgz npm http 200 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/express/-/express-2.5.11.tgz npm http 200 https://registry.npmjs.org/inflection npm http GET https://registry.npmjs.org/inflection/-/inflection-1.2.3.tgz npm http 200 https://registry.npmjs.org/ember-metal-node npm http GET https://registry.npmjs.org/ember-metal-node/-/ember-metal-node-0.9.7-1-1.tgz npm http 200 https://registry.npmjs.org/ember-runtime-node npm http GET https://registry.npmjs.org/ember-runtime-node/-/ember-runtime-node-0.9.7-1-1.tgz npm http 200 https://registry.npmjs.org/socket.io npm http GET https://registry.npmjs.org/socket.io/-/socket.io-0.9.10.tgz npm http 200 https://registry.npmjs.org/superagent npm http GET https://registry.npmjs.org/superagent/-/superagent-0.9.0.tgz npm http 200 https://registry.npmjs.org/ember-states-node npm http GET https://registry.npmjs.org/ember-states-node/-/ember-states-node-0.9.7-1-1.tgz npm http 200 https://registry.npmjs.org/wrench npm http GET https://registry.npmjs.org/wrench/-/wrench-1.3.9.tgz npm http 200 https://registry.npmjs.org/temp npm http GET https://registry.npmjs.org/temp/-/temp-0.4.0.tgz npm http 200 https://registry.npmjs.org/knox/0.0.11 npm http GET https://registry.npmjs.org/knox/-/knox-0.0.11.tgz npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz npm http 200 https://registry.npmjs.org/qs/-/qs-0.5.0.tgz npm http 200 https://registry.npmjs.org/validator npm http GET https://registry.npmjs.org/validator/-/validator-0.4.11.tgz npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.7.tgz npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.3.3.tgz npm http 200 https://registry.npmjs.org/gm npm http GET https://registry.npmjs.org/gm/-/gm-1.4.2.tgz npm http 200 https://registry.npmjs.org/underscore.logger/-/underscore.logger-0.3.1.tgz npm http 200 https://registry.npmjs.org/mint/-/mint-0.3.5.tgz npm http 200 https://registry.npmjs.org/pathfinder/-/pathfinder-0.3.0-1.tgz npm http 200 https://registry.npmjs.org/ejs/-/ejs-0.8.2.tgz npm http 200 https://registry.npmjs.org/useragent/-/useragent-1.1.0.tgz npm http 200 https://registry.npmjs.org/commander/-/commander-1.0.4.tgz npm http 200 https://registry.npmjs.org/URIjs/-/URIjs-1.7.2.tgz npm http 200 https://registry.npmjs.org/moment/-/moment-1.7.0.tgz npm http 200 https://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz npm http 200 https://registry.npmjs.org/geolib/-/geolib-1.1.8.tgz npm WARN package.json geolib@1.1.8 No README.md file found! npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz npm http 200 https://registry.npmjs.org/accounting/-/accounting-0.3.2.tgz npm http 200 https://registry.npmjs.org/express/-/express-2.5.11.tgz npm http 200 https://registry.npmjs.org/inflection/-/inflection-1.2.3.tgz

npm http 200 https://registry.npmjs.org/ember-metal-node/-/ember-metal-node-0.9.7-1-1.tgz npm http 200 https://registry.npmjs.org/ember-runtime-node/-/ember-runtime-node-0.9.7-1-1.tgz

npm http 200 https://registry.npmjs.org/socket.io/-/socket.io-0.9.10.tgz npm WARN package.json ember-metal-node@0.9.7-1-1 No README.md file found! npm http 200 https://registry.npmjs.org/superagent/-/superagent-0.9.0.tgz

npm WARN package.json ember-runtime-node@0.9.7-1-1 No README.md file found! npm http 200 https://registry.npmjs.org/ember-states-node/-/ember-states-node-0.9.7-1-1.tgz npm http 200 https://registry.npmjs.org/wrench/-/wrench-1.3.9.tgz npm WARN package.json ember-states-node@0.9.7-1-1 No README.md file found! npm http 200 https://registry.npmjs.org/temp/-/temp-0.4.0.tgz npm http 200 https://registry.npmjs.org/knox/-/knox-0.0.11.tgz npm http 200 https://registry.npmjs.org/validator/-/validator-0.4.11.tgz npm http 200 https://registry.npmjs.org/gm/-/gm-1.4.2.tgz npm http 200 https://registry.npmjs.org/nodemailer npm http GET https://registry.npmjs.org/nodemailer/-/nodemailer-0.3.25.tgz npm http 200 https://registry.npmjs.org/nodemailer/-/nodemailer-0.3.25.tgz npm http GET https://registry.npmjs.org/googlemaps npm http GET https://registry.npmjs.org/keypress npm http GET https://registry.npmjs.org/yamlparser/0.0.2 npm http GET https://registry.npmjs.org/request/2.9.202 npm http GET https://registry.npmjs.org/semver/1.0.14 npm http GET https://registry.npmjs.org/mime/1.2.5 npm http GET https://registry.npmjs.org/methods/0.0.1 npm http GET https://registry.npmjs.org/emitter-component/0.0.1 npm http GET https://registry.npmjs.org/cookiejar/1.3.0 npm http GET https://registry.npmjs.org/qs/0.4.2 npm http GET https://registry.npmjs.org/formidable/1.0.9 npm http GET https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/mime/1.2.4 npm http GET https://registry.npmjs.org/mailcomposer npm http GET https://registry.npmjs.org/simplesmtp npm http GET https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/mkdirp/0.3.0 npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/socket.io-client/0.9.10 npm http GET https://registry.npmjs.org/policyfile/0.0.4 npm http GET https://registry.npmjs.org/detective npm http GET https://registry.npmjs.org/findit npm http GET https://registry.npmjs.org/redis/0.7.2 npm http GET https://registry.npmjs.org/mkdirp npm http 200 https://registry.npmjs.org/yamlparser/0.0.2 npm http 200 https://registry.npmjs.org/semver/1.0.14 npm http GET https://registry.npmjs.org/yamlparser/-/yamlparser-0.0.2.tgz npm http GET https://registry.npmjs.org/semver/-/semver-1.0.14.tgz npm http 200 https://registry.npmjs.org/request/2.9.202 npm http GET https://registry.npmjs.org/request/-/request-2.9.202.tgz npm http 200 https://registry.npmjs.org/mime/1.2.5 npm http GET https://registry.npmjs.org/mime/-/mime-1.2.5.tgz npm http 200 https://registry.npmjs.org/methods/0.0.1 npm http GET https://registry.npmjs.org/methods/-/methods-0.0.1.tgz npm http 200 https://registry.npmjs.org/keypress npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz npm http 200 https://registry.npmjs.org/googlemaps npm http GET https://registry.npmjs.org/googlemaps/-/googlemaps-0.1.7.tgz npm http 200 https://registry.npmjs.org/cookiejar/1.3.0 npm http GET https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz npm http 200 https://registry.npmjs.org/qs/0.4.2 npm http GET https://registry.npmjs.org/qs/-/qs-0.4.2.tgz npm http 200 https://registry.npmjs.org/emitter-component/0.0.1 npm http GET https://registry.npmjs.org/emitter-component/-/emitter-component-0.0.1.tgz npm http 200 https://registry.npmjs.org/mime/1.2.4 npm http GET https://registry.npmjs.org/mime/-/mime-1.2.4.tgz npm http 200 https://registry.npmjs.org/formidable/1.0.9 npm http GET https://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz npm http 200 https://registry.npmjs.org/mkdirp/0.3.0 npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz npm http 304 https://registry.npmjs.org/qs npm http 200 https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.4.tgz npm http 200 https://registry.npmjs.org/socket.io-client/0.9.10 npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.10.tgz npm http 200 https://registry.npmjs.org/policyfile/0.0.4 npm http GET https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz npm http 200 https://registry.npmjs.org/detective npm http GET https://registry.npmjs.org/detective/-/detective-0.2.1.tgz npm http 200 https://registry.npmjs.org/findit npm http GET https://registry.npmjs.org/findit/-/findit-0.1.2.tgz npm http 200 https://registry.npmjs.org/mkdirp npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz npm http 200 https://registry.npmjs.org/mailcomposer npm http GET https://registry.npmjs.org/mailcomposer/-/mailcomposer-0.1.19.tgz npm http 200 https://registry.npmjs.org/redis/0.7.2 npm http GET https://registry.npmjs.org/redis/-/redis-0.7.2.tgz npm http 200 https://registry.npmjs.org/yamlparser/-/yamlparser-0.0.2.tgz npm http 200 https://registry.npmjs.org/semver/-/semver-1.0.14.tgz npm http 200 https://registry.npmjs.org/request/-/request-2.9.202.tgz npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.5.tgz npm http 200 https://registry.npmjs.org/methods/-/methods-0.0.1.tgz npm http 200 https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/connect/-/connect-1.9.2.tgz npm WARN package.json methods@0.0.1 No README.md file found! npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz npm http 200 https://registry.npmjs.org/googlemaps/-/googlemaps-0.1.7.tgz npm http 200 https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz npm http 200 https://registry.npmjs.org/qs/-/qs-0.4.2.tgz npm http 200 https://registry.npmjs.org/emitter-component/-/emitter-component-0.0.1.tgz npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.4.tgz npm http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.4.tgz npm http GET https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/waitress npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.10.tgz npm http 200 https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz npm http 200 https://registry.npmjs.org/detective/-/detective-0.2.1.tgz npm http 200 https://registry.npmjs.org/simplesmtp npm http GET https://registry.npmjs.org/simplesmtp/-/simplesmtp-0.1.21.tgz npm http 200 https://registry.npmjs.org/findit/-/findit-0.1.2.tgz npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz npm http 200 https://registry.npmjs.org/mailcomposer/-/mailcomposer-0.1.19.tgz npm WARN excluding symbolic link test/symlinks/dir1/dangling-symlink -> does-not-exist npm http 200 https://registry.npmjs.org/redis/-/redis-0.7.2.tgz npm http 200 https://registry.npmjs.org/connect/-/connect-1.9.2.tgz npm http GET https://registry.npmjs.org/esprima npm http GET https://registry.npmjs.org/seq npm http 200 https://registry.npmjs.org/simplesmtp/-/simplesmtp-0.1.21.tgz npm http 200 https://registry.npmjs.org/waitress npm http GET https://registry.npmjs.org/waitress/-/waitress-0.1.2.tgz npm http GET https://registry.npmjs.org/wordwrap npm http GET https://registry.npmjs.org/rai npm http GET https://registry.npmjs.org/mimelib npm http 200 https://registry.npmjs.org/esprima npm http GET https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz npm http 200 https://registry.npmjs.org/waitress/-/waitress-0.1.2.tgz npm http 200 https://registry.npmjs.org/seq npm http GET https://registry.npmjs.org/seq/-/seq-0.3.5.tgz npm WARN package.json connect@1.9.2 No README.md file found! npm http GET https://registry.npmjs.org/formidable npm http 200 https://registry.npmjs.org/wordwrap npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz npm http 200 https://registry.npmjs.org/rai npm http GET https://registry.npmjs.org/rai/-/rai-0.1.6.tgz npm http 200 https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz npm http 200 https://registry.npmjs.org/seq/-/seq-0.3.5.tgz npm http 200 https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/request/-/request-2.2.9.tgz npm http 200 https://registry.npmjs.org/mimelib npm http GET https://registry.npmjs.org/mimelib/-/mimelib-0.2.4.tgz npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz npm http GET https://registry.npmjs.org/chainsaw npm http GET https://registry.npmjs.org/hashish npm http 200 https://registry.npmjs.org/rai/-/rai-0.1.6.tgz npm http 200 https://registry.npmjs.org/request/-/request-2.2.9.tgz npm http 200 https://registry.npmjs.org/formidable npm http GET https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz npm http 200 https://registry.npmjs.org/mimelib/-/mimelib-0.2.4.tgz npm http 200 https://registry.npmjs.org/chainsaw npm http GET https://registry.npmjs.org/chainsaw/-/chainsaw-0.0.9.tgz npm http 200 https://registry.npmjs.org/hashish npm http GET https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz npm http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz npm http 200 https://registry.npmjs.org/chainsaw/-/chainsaw-0.0.9.tgz npm http 200 https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz npm http GET https://registry.npmjs.org/traverse npm http GET https://registry.npmjs.org/traverse npm http 200 https://registry.npmjs.org/traverse npm http GET https://registry.npmjs.org/traverse/-/traverse-0.6.3.tgz npm http GET https://registry.npmjs.org/encoding npm http GET https://registry.npmjs.org/addressparser npm http 200 https://registry.npmjs.org/traverse npm http GET https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz npm http 200 https://registry.npmjs.org/addressparser npm http GET https://registry.npmjs.org/addressparser/-/addressparser-0.1.1.tgz npm http 200 https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz npm http 200 https://registry.npmjs.org/traverse/-/traverse-0.6.3.tgz npm http 200 https://registry.npmjs.org/addressparser/-/addressparser-0.1.1.tgz npm http 200 https://registry.npmjs.org/encoding npm http GET https://registry.npmjs.org/encoding/-/encoding-0.1.3.tgz npm http 200 https://registry.npmjs.org/encoding/-/encoding-0.1.3.tgz npm http GET https://registry.npmjs.org/iconv-lite npm http GET https://registry.npmjs.org/iconv npm http 200 https://registry.npmjs.org/iconv-lite npm http 200 https://registry.npmjs.org/iconv npm http GET https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.5.tgz npm http GET https://registry.npmjs.org/iconv/-/iconv-1.2.3.tgz npm http 200 https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.5.tgz npm http 200 https://registry.npmjs.org/iconv/-/iconv-1.2.3.tgz npm http GET https://registry.npmjs.org/hiredis npm http GET https://registry.npmjs.org/uglify-js/1.2.5 npm http GET https://registry.npmjs.org/ws npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2 npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1 npm http 200 https://registry.npmjs.org/hiredis npm http GET https://registry.npmjs.org/hiredis/-/hiredis-0.1.14.tgz npm http 200 https://registry.npmjs.org/uglify-js/1.2.5 npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz npm http 200 https://registry.npmjs.org/xmlhttprequest/1.4.2 npm http GET https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz npm http 200 https://registry.npmjs.org/active-x-obfuscator/0.0.1 npm http GET https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz npm http 200 https://registry.npmjs.org/hiredis/-/hiredis-0.1.14.tgz npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz npm http 200 https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz npm http 200 https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz npm http 200 https://registry.npmjs.org/ws npm http GET https://registry.npmjs.org/ws/-/ws-0.4.21.tgz npm WARN package.json hiredis@0.1.14 No README.md file found!

hiredis@0.1.14 preinstall /home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/node_modules/redis/node_mod ules/hiredis make || gmake

cd deps/hiredis && make static make[1]: Entering directory /home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/node_modules/redis/node_mo dules/hiredis/deps/hiredis' cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb hiredis.c npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.21.tgz cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb sds.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb async.c ar rcs libhiredis.a net.o hiredis.o sds.o async.o make[1]: Leaving directory/home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/node_modules/redis/node_mod ules/hiredis/deps/hiredis' node-waf configure build Setting srcdir to : /home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/node_modules /redis/node_modules/hiredis Setting blddir to : /home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/node_modules /redis/node_modules/hiredis/build Checking for program g++ or c++ : /usr/bin/g++ Checking for program cpp : /usr/bin/cpp Checking for program ar : /usr/bin/ar Checking for program ranlib : /usr/bin/ranlib Checking for g++ : ok Checking for node path : not found Checking for node prefix : ok /home/imagdy/local 'configure' finished successfully (0.072s) Waf: Entering directory /home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/node_modules/redis/node_module s/hiredis/build' [1/3] cxx: hiredis.cc -> build/Release/hiredis_1.o [2/3] cxx: reader.cc -> build/Release/reader_1.o [3/3] cxx_link: build/Release/hiredis_1.o build/Release/reader_1.o -> build/Release/hiredis.node Waf: Leaving directory/home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/node_modules/redis/node_modules /hiredis/build' 'build' finished successfully (1.980s) npm http GET https://registry.npmjs.org/zeparser/0.0.5 npm http GET https://registry.npmjs.org/tinycolor npm http GET https://registry.npmjs.org/commander npm http GET https://registry.npmjs.org/options npm http 304 https://registry.npmjs.org/commander npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz npm http 200 https://registry.npmjs.org/zeparser/0.0.5 npm http GET https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz npm http 200 https://registry.npmjs.org/tinycolor npm http GET https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz npm http 200 https://registry.npmjs.org/options npm http GET https://registry.npmjs.org/options/-/options-0.0.3.tgz npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz npm http 200 https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz npm http 200 https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz npm http 200 https://registry.npmjs.org/options/-/options-0.0.3.tgz

ws@0.4.21 install /home/imagdy/local/lib/node_modules/tower/node_modules/socket.io/nodemodules/socket.io-client/node modules/ws node install.js

[ws v0.4.21] Attempting to compile blazing fast native extensions. [ws v0.4.21] Native extension compilation successful!

iconv@1.2.3 install /home/imagdy/local/lib/node_modules/tower/node_modules/nodemailer/node_modules/mailcomposer/node_m odules/mimelib/node_modules/encoding/node_modules/iconv node-gyp rebuild

make: Entering directory /home/imagdy/local/lib/node_modules/tower/node_modules/nodemailer/node_modules/mailcomposer/no de_modules/mimelib/node_modules/encoding/node_modules/iconv/build' CC(target) Release/obj.target/iconv/deps/libiconv/libcharset/lib/localcharset.o CC(target) Release/obj.target/iconv/deps/libiconv/lib/iconv.o CXX(target) Release/obj.target/iconv/binding.o SOLINK_MODULE(target) Release/obj.target/iconv.node SOLINK_MODULE(target) Release/obj.target/iconv.node: Finished COPY Release/iconv.node make: Leaving directory/home/imagdy/local/lib/node_modules/tower/node_modules/nodemailer/node_modules/mailcomposer/nod e_modules/mimelib/node_modules/encoding/node_modules/iconv/build' /home/imagdy/local/bin/tower -> /home/imagdy/local/lib/node_modules/tower/bin/tower

tower@0.4.1 postinstall /home/imagdy/local/lib/node_modules/tower npm install git://github.com/viatropos/coffeecup.git git://github.com/viatropos/coffee-script.git --force

/home/imagdy/local/bin/coffee -> /home/imagdy/local/lib/node_modules/coffee-script/bin/coffee /home/imagdy/local/bin/cake -> /home/imagdy/local/lib/node_modules/coffee-script/bin/cake npm http GET https://registry.npmjs.org/optparse npm http GET https://registry.npmjs.org/uglify-js npm http GET https://registry.npmjs.org/stylus npm http 200 https://registry.npmjs.org/optparse npm http GET https://registry.npmjs.org/optparse/-/optparse-1.0.3.tgz npm http 200 https://registry.npmjs.org/uglify-js npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.3.tgz npm http 200 https://registry.npmjs.org/stylus npm http GET https://registry.npmjs.org/stylus/-/stylus-0.29.0.tgz npm http 200 https://registry.npmjs.org/optparse/-/optparse-1.0.3.tgz npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.3.tgz npm http 200 https://registry.npmjs.org/stylus/-/stylus-0.29.0.tgz npm http GET https://registry.npmjs.org/cssom npm http GET https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/mkdirp npm http 304 https://registry.npmjs.org/mkdirp npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz npm http 200 https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/debug/-/debug-0.7.0.tgz npm http 200 https://registry.npmjs.org/cssom npm http GET https://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz npm http 200 https://registry.npmjs.org/debug/-/debug-0.7.0.tgz npm http 200 https://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz /home/imagdy/local/bin/coffeecup -> /home/imagdy/local/lib/node_modules/coffeecup/bin/coffeecup coffee-script@1.3.2 /home/imagdy/local/lib/node_modules/coffee-script

coffeecup@0.3.11 /home/imagdy/local/lib/node_modules/coffeecup ├── optparse@1.0.3 ├── uglify-js@1.3.3 └── stylus@0.29.0 (debug@0.7.0, mkdirp@0.3.4, cssom@0.2.5) tower@0.4.1 /home/imagdy/local/lib/node_modules/tower ├── knox@0.0.11 ├── ember-states-node@0.9.7-1-1 ├── temp@0.4.0 ├── inflection@1.2.3 ├── underscore.logger@0.3.1 ├── wrench@1.3.9 ├── node-uuid@1.3.3 ├── mime@1.2.7 ├── async@0.1.22 ├── URIjs@1.7.2 ├── ember-runtime-node@0.9.7-1-1 ├── ember-metal-node@0.9.7-1-1 ├── validator@0.4.11 ├── mint@0.3.5 ├── ejs@0.8.2 ├── underscore@1.3.3 ├── underscore.string@2.2.0rc ├── qs@0.5.0 ├── accounting@0.3.2 ├── coffee-script@1.3.2 ├── gm@1.4.2 ├── moment@1.7.0 ├── commander@1.0.4 (keypress@0.1.0) ├── useragent@1.1.0 (yamlparser@0.0.2, semver@1.0.14, request@2.9.202) ├── superagent@0.9.0 (methods@0.0.1, cookiejar@1.3.0, emitter-component@0.0.1, qs@0.4.2, mime@1.2.5, formidable@1.0.9) ├── geolib@1.1.8 (googlemaps@0.1.7) ├── express@2.5.11 (qs@0.4.2, mime@1.2.4, mkdirp@0.3.0, connect@1.9.2) ├── pathfinder@0.3.0-1 (mkdirp@0.3.4, findit@0.1.2, detective@0.2.1) ├── socket.io@0.9.10 (policyfile@0.0.4, redis@0.7.2, socket.io-client@0.9.10) └── nodemailer@0.3.25 (optimist@0.3.4, simplesmtp@0.1.21, mailcomposer@0.1.19) imagdy@imagdy:~/node-latest-install/node_modules$ imagdy@imagdy:~/node-latest-install/node_modules$ imagdy@imagdy:~/node-latest-install/node_modules$ imagdy@imagdy:~/node-latest-install/node_modules$ tower

module.js:340 throw err; ^ Error: Cannot find module '../lib/tower' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:362:17) at require (module.js:378:17) at Object. (/home/imagdy/local/lib/node_modules/tower/bin/tower:2:1) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.runMain (module.js:492:10)

edubkendo commented 12 years ago

ok, here's an idea. try just installing tower non-globally but into this folder. in other words, cd into the directory "node-latest-install" and then running "npm install tower". See if it puts in those missing folders.

edubkendo commented 12 years ago

if it does work, it may just work since npm has already created the executable. If not, just cd into where it installed tower and tell it "npm link".

lancejpollard commented 12 years ago

The latest version 0.4.2-1 doesn't run any postinstall scripts for the global version of tower, so you should be good. See https://github.com/viatropos/tower/issues/272#issuecomment-8522405 (and comments above) for more info, mainly about sudo since you're on linux and there's no homebrew :)