2015-04-03 16 views
0

我已经尝试了很多东西。卸载npm并表达。 关注此线程:Node.js npm install express error fetch failed
有人可以解释我没有做的不正确。
我知道这很简单,我已经在其他情况下解决了这个问题,但这不能解决。我需要Express 3.x为我的项目,但安装后,我不断收到'express --version 1.4.28'

package.json 
    "dependencies": { 
    "bcrypt-nodejs": "~0.0.3", 
    "consolidate": "~0.9.1", 
    "express": ">=3.2.6", 
    "mongodb": "~1.4.34", 
etc. 

在提示符下,如果我做“故宫安装”我认为这将使用在依赖列表中列出的版本,但它安装快递4.0。见下文。

> npm install 

不应该将版本安装在依赖项列表中吗?

Express 4.0;它与我的课程不兼容。 4.x是此时的默认设置。

>npm install express 
npm express --version 
4.0 

>rm -rf express 
>which express 
(returns nothing) 

>npm install [email protected] 


>npm express --version 
1.4.28 

我觉得1.4.28是npm本身的版本。
请问是怎么回事?

回答

0

你是对的,你在看npm版本。要查看已安装的软件包的版本中使用

npm ls 

或特快仅

npm ls express 
+0

感谢。这是输出。 macbookpro:blog myname $ npm ls express [email protected]/Users/mynamel/Desktop/week2/homework_2_3/hw2-3/hw2-3/blog └──[email protected] 但是为什么'npm express --version'告诉我npm的版本 - '不是express的版本'。 难道我不会'npm npm --version'来查看npm的版本吗? – shareyourpeace 2015-04-03 20:28:23

+0

查看npm版本的命令是npm --version。当你输入npm express --version时,它不能理解express命令,所以它只能回退到npm --version。尝试与npm blahblahblah - 版本,你会看到同样的事情。您可以使用npm --help查看完整的npm命令列表。 npm命令是一个二进制文件,而不是一个节点模块,尽管它会调用全局安装的npm包(我知道这很困惑)。要查看您的全局安装的npm版本,您可以使用npm -g ls npm – Dan 2015-04-03 20:50:11

+0

@ dskh再次感谢您。很好的说明! – shareyourpeace 2015-04-06 17:03:34

相关问题