我正在关注设置快递应用this tutorial。但是当我运行node app.js
时,服务器无法启动。我运行的上一个命令是
cd express_example && npm install
但是我收到了这个错误
npm WARN engine express@4.9.8: wanted: {"node":">= 0.10.0"} (current: {"node":"0.8.4","npm":"2.1.4"})
npm WARN engine void-elements@1.0.0: wanted: {"node":">=0.10.0"} (current: {"node":"0.8.4","npm":"2.1.4"})
所以我认为这是因为需要更新版本的节点。所以我查看了我所拥有的节点版本,发现它已经老了,所以我尝试升级了。但当我跑brew update node
时,我得到了这个警报。
Error: node-0.10.32 already installed
我做了一些搜索,在SO上发现了this answer。建议运行这些命令
sudo npm cache clean -f
然后
sudo npm install -g n
然后
sudo n stable
但服务器仍然无法启动。但至少我现在在v0.10.33
我还在SO上发现this similar question,其接受的答案是尝试sudo node app.js
,但这似乎不正确,甚至也没有用。
答案 0 :(得分:2)
如果您使用Express 4并使用生成器,则运行应用程序的方法略有不同。 Express 4将文件结构更改为:
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.jade
├── index.jade
└── layout.jade
注意bin/www
目录。
现在,应用启动逻辑已分隔在bin/www
文件中。因此,您必须使用以下命令运行您的应用程序:
DEBUG=<<app_name>> ./bin/www