我正在使用OSX 10.10.4,我曾经使用过node.js并在此计算机上进行过表达。
但是现在当我想开始一个新的应用程序时,计算机不再能识别命令express
。
我尝试使用所有这些命令安装它:
- npm install express
- npm install -g express
- npm install express -g
- sudo npm install -g express
- sudo npm install express -g
- npm install express-generator
- npm install -g express-generator
- npm install express-generator -g
- sudo npm install -g express-generator
- sudo install express-generator -g
- sudo npm install -g express-generator@3
- sudo npm install -g express-generator@4
但它仍然无法识别命令express
这是我在没有-g
npm install express
express@4.13.3 node_modules/express
├── escape-html@1.0.2
├── merge-descriptors@1.0.0
├── cookie@0.1.3
├── array-flatten@1.1.1
├── utils-merge@1.0.0
├── cookie-signature@1.0.6
├── methods@1.1.1
├── fresh@0.3.0
├── range-parser@1.0.2
├── vary@1.0.1
├── path-to-regexp@0.1.7
├── content-type@1.0.1
├── etag@1.7.0
├── parseurl@1.3.0
├── content-disposition@0.5.0
├── serve-static@1.10.0
├── depd@1.0.1
├── qs@4.0.0
├── finalhandler@0.4.0 (unpipe@1.0.0)
├── on-finished@2.3.0 (ee-first@1.1.1)
├── debug@2.2.0 (ms@0.7.1)
├── proxy-addr@1.0.8 (forwarded@0.1.0, ipaddr.js@1.0.1)
├── type-is@1.6.6 (media-typer@0.3.0, mime-types@2.1.4)
├── accepts@1.2.12 (negotiator@0.5.3, mime-types@2.1.4)
└── send@0.13.0 (destroy@1.0.3, statuses@1.2.1, ms@0.7.1, mime@1.3.4, http-errors@1.3.1)
当我使用-g
安装时sudo npm install -g express-generator
Password:
/Users/Maiteh/.node/bin/express -> /Users/Maiteh/.node/lib/node_modules/express-generator/bin/express
express-generator@4.13.1 /Users/Maiteh/.node/lib/node_modules/express-generator
├── sorted-object@1.0.0
├── commander@2.7.1 (graceful-readlink@1.0.1)
└── mkdirp@0.5.1 (minimist@0.0.8)
我尝试了其他一些内容,例如PATH
和nodejs-legacy
,但这些内容都不起作用。
使用sudo apt-get install nodejs-legacy
,计算机无法找到命令apt-get
。
答案 0 :(得分:6)
我安装express:command not found
之后的原因是因为我的$PATH
不知道快递在哪里。
对于任何想要安装快速命令行工具的人我都这样做了
sudo npm install express-generator -g
导致
/usr/local/share/npm/bin/express -> /usr/local/share/npm/lib/node_modules/express-generator/bin/express
express-generator@4.13.1 /usr/local/share/npm/lib/node_modules/express-generator
├── sorted-object@1.0.0
├── commander@2.7.1 (graceful-readlink@1.0.1)
└── mkdirp@0.5.1 (minimist@0.0.8)
当我尝试express --version
时,我得到了command not found
使用open ~/.bash_profile
之后添加安装快递后的路径,在我的情况下是
/usr/local/share/npm/lib/node_modules/express-generator/bin/express
将此添加到您的bash_profile
export PATH=/usr/local/share/npm/lib/node_modules/express-generator/bin:$PATH
保存文件并返回终端。输入hash -r
,然后退出终端并重新启动。
现在,如果您尝试使用express --version
,您应该会看到命令行工具正在运行。
答案 1 :(得分:4)
你在这里描述的问题有些混乱,所以我会尝试一次解决这些问题。
Express是node.js的流行框架。将其添加到项目的典型方法是npm install --save express
,然后将其保存到package.json
文件中并将其安装到node_modules
。将-g
添加到该命令将尝试全局安装它,但这不是如何使用express。 Express用于每个项目。有关详细信息,请参阅website。
在您运行的大量命令列表中,您提到了express-generator
。 Express-generator是一个工具,可以让您快速构建一些样板,使启动快速项目更容易一些。由于express-generator
意味着全局运行而不是项目内部,因此您需要使用-g
标志进行安装。有关使用和安装的详细信息,请参阅website。
您正尝试使用apt-get
命令安装更多节点内容。该命令用于Linux(通常是Ubuntu / Debian)机器上的包管理。 Mac OS X没有附带它(你绝对不需要它)。任何提及正在运行apt-get
的说明都不针对Mac用户。
基本上,我认为你没有问题,你显示的日志正是我期望看到的。使用express-generator
生成样板项目,您应该已经准备好开始处理您的快速项目了。祝你好运!