Express不适用于ubuntu

时间:2013-12-10 20:56:19

标签: node.js ubuntu express npm

我是nodejs的新手,并试图学习它。我已经通过命令安装了node framework express作为全局模块:

$ sudo npm install express -g

这是正常的,我在/usr/lib/node_modules中有。然后我在express上创建一个新项目:

 $ express app

但是这不会创建项目文件夹而且不会返回任何错误代码,清除节点代码工作正常。有谁知道如何检测并修复此错误?

6 个答案:

答案 0 :(得分:35)

找到了它。 npm包实际上命名为express-generator

sudo npm install -g express-generator

然后你可以使用

express mytestapp

导致:

olivier@****:~/workspace$ express mytestapp

create : mytestapp
create : mytestapp/package.json
create : mytestapp/app.js
create : mytestapp/public
create : mytestapp/public/javascripts
create : mytestapp/public/stylesheets
create : mytestapp/public/stylesheets/style.css
create : mytestapp/routes
create : mytestapp/routes/index.js
create : mytestapp/routes/users.js
create : mytestapp/views
create : mytestapp/views/index.jade
create : mytestapp/views/layout.jade
create : mytestapp/views/error.jade
create : mytestapp/bin
create : mytestapp/bin/www
create : mytestapp/public/images

install dependencies:
 $ cd mytestapp && npm install

run the app:
 $ DEBUG=my-application ./bin/www

干杯! 奥利弗

来源:http://expressjs.com/guide.html#executable

答案 1 :(得分:23)

对我来说,解决方案只是安装nodejs-legacy软件包:

sudo apt-get install nodejs-legacy

答案 2 :(得分:3)

首先要尝试的是安装插件:

$ npm -g ls | grep express

如果没有返回任何内容,请尝试重新安装。

由于在这种情况下它仍然安装,下一个解决方案是完全重新安装Node。

有一篇关于清理节点安装的帖子:Uninstall Node.JS using Linux command line?

答案 3 :(得分:2)

这就是我让我的工作,并确保在运行Node 0.8.21和Express 3.2.0的Ubuntu 12.04上一切正常。

首先安装快递

sudo npm install –g express

现在通过查询版本来检查快递是否有效:

express -V

现在我去创建了一个快速应用程序:

cd /usr/lib/node_modules
sudo express -s -e expressTestApp

输出如下:

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

install dependencies:
 $ cd expressTestApp && npm install

run the app:
 $ node app

所以,按照它给我的说明,我按顺序运行了以下两个命令:

cd expressTestApp
sudo npm install

一分钟后,它就完成了,我可以打开/urs/lib/node_modules/app.js并使用它。此外,在快速模块创建期间运行的节点应用程序也像在说明中所说的那样工作。

从之前的评论看,您可能已经通过重新安装节点修复了它,但我仍然希望这会对您有所帮助。

答案 4 :(得分:0)

也许sudo express app可能会成功? (我看到你正在/var/www执行,这通常不受普通用户限制?)

答案 5 :(得分:0)

从Ubuntu 16.04 LTS开始,全局安装express时会出现问题。要解决此问题,请确保即使已全局安装,也要将express安装到工作目录中。  使用

sudo npm i express-generator --save

将其保存到您执行的每个项目的工作目录中。

遇到此问题并轻松修复,无需重新安装nodejs或任何其他依赖项。