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.
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.