cannot install npm? problems generating application

ok ... first time I'm trying my hand at node.js.

installed it a while back, and not sure how i installed it.

last night, decided to tackle a tutorial regarding node.js and express.

checked my version of node which is v0.8.14 and npm which is 1.1.65. (I'm on Mac, 10.6.8 version)

but did this anyway

npm install -g express

seemed to go ok ... but whenever I tried to generate a new application via

express new ProjectName

I got this:

-bash: express: command not found

Decided to try

 sudo npm install express -g

which again seemed to go well ... but again, the express new ProjectName got the same statement.

tried again:

npm install -g express  

got a lot of errors unlike the first time.

npm WARN package.json application-name@0.0.1 No README.md file found!
AA-s-MacBook-Pro:express_node aa$ express new HotPie
-bash: express: command not found
AA-s-MacBook-Pro:express_node aa$ npm cache clean
AA-s-MacBook-Pro:express_node aa$ npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 200 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/express/-/express-3.0.6.tgz
npm http 200 https://registry.npmjs.org/express/-/express-3.0.6.tgz
npm ERR! error rolling back Error: EPERM, chmod '/usr/local/share/npm/bin/express'
npm ERR! error rolling back  express@3.0.6 { [Error: EPERM, chmod '/usr/local/share   /npm/bin/express']
npm ERR! error rolling back   errno: 50,
npm ERR! error rolling back   code: 'EPERM',
npm ERR! error rolling back   path: '/usr/local/share/npm/bin/express' }
npm ERR! Error: EPERM, chmod '/usr/local/share/npm/bin/express'
npm ERR!  { [Error: EPERM, chmod '/usr/local/share/npm/bin/express']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: '/usr/local/share/npm/bin/express' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 10.8.0
npm ERR! command "/usr/local/Cellar/node/0.8.14/bin/node" "/usr/local/bin/npm" "install" "-g" "express"
npm ERR! cwd /Users/aa/Documents/express_node
npm ERR! node -v v0.8.14
npm ERR! npm -v 1.1.65
npm ERR! path /usr/local/share/npm/bin/express
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, chmod '/usr/local/share/npm/bin/express'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/aa/Documents/express_node/npm-debug.log
npm ERR! not ok code 0

and so it went on and on: errors ... or no errors. I'm at total loss. and online literature on fixing this problem seems rather sparse.

advice, please?

oh, also saw this somewhere online: (whatever it means)

/usr/local/share/npm/bin/express 

which resulted in this:

destination is not empty, continue? 
destination is not empty, continue? (yes or no) yes

   create : .
   create : ./package.json
   create : ./app.js
   create : ./public/javascripts
   create : ./public/images
   create : ./public/stylesheets
   create : ./public/stylesheets/style.css
   create : ./routes
   create : ./routes/index.js
   create : ./routes/user.js
   create : ./views
   create : ./views/layout.jade
   create : ./views/index.jade
   create : ./public

   install dependencies:
     $ cd . && npm install

   run the app:
     $ node app

so ... ??? any advice would be appreciated! (please also let me know if I left any pertinent information required)

Sounds like you need to edit your path variable.

Edit your ~/.bash_profile. Add this export somewhere.

export PATH=/usr/local/bin:$PATH:/usr/local/share/npm/bin

What's happening is that node isn't setting up its PATH correctly. I've had this happen to me before. Its something they should fix.

You may not have a .bash_profile. In *nix systems, there are a few different files you can place in your home directory to add environment variables and such.

bash_profile is the one I prefer, so in the terminal cd to ~ and touch .bash_profile.

Then edit it via nano .bash_profile or whatever editor you like.

(In nano, control-o to save, control-x to exit.)

When you've added it, do: source .bash_profile

Then try which express and see if it shows the path.