2016-02-27 103 views
3

我是NPM的新手,我有一个真正的noob问题。我正想通过下面的文章,并横跨什么样的作者有话要说下面就:使用npm package.json文件获取最新版本并获取插件命名权

而不是做的:

$ cd /path/to/the/project 
$ npm install mongoose 
$ npm install express 
$ npm install jade 

在您的应用程序目录的根目录下创建一个package.json文件。

$ cd /path/to/the/project 
$ touch package.json 

的package.json:

{ 
    "name": "your app name" 
    , "version": "0.0.1" 
    , "private": true 
    , "dependencies": { 
     "express": ">=2.5.0" 
    , "jade": ">= 0.16.4" 
    , "mongoose": ">=2.3.10" 
    } 
} 

然后键入以下命令所有的软件包将被安装。

$ npm install -l 

难度 ::

现在,我真的很喜欢做folloiwng的想法:

{ 
    "name": "your app name" 
    , "version": "0.0.1" 
    , "private": true 
    , "dependencies": { 
     "express": ">=2.5.0" 
    , "jade": ">= 0.16.4" 
    , "mongoose": ">=2.3.10" 
    } 
} 

但是,如果不是说">=2.5.0",我希望它是什么是最新版本? I.E.我想要的版本与当我去git目录并按下载按钮时相同。如何知道npm上软件包的具体名称。例如,如果我检查滑块插件HERE,我看到安装它的命令:

npm install slider 

这是否意味着,如果我安装使用的package.json上面的插件,我的package.json会看如下所示:

{ 
     "name": "your app name" 
     , "version": "0.0.1" 
     , "private": true 
     , "dependencies": { 
      "slider": "whatever" // is this correct ?? 
     } 
    } 

如果有人能为我回答2个问题,我将不胜感激。 I.E.我如何获得jQuery插件的最新稳定版本,以及如何获取package.json文件的命名权限。

回答

3

是的,npm install(或URL中)之后的名称与package.json中使用的名称相同。

如果要查找已安装的软件包的最新版本,可以使用npm outdated,该列表将列出过期库的最新版本。然后,您可以手动更新package.json或使用npm-check-updates

如果您要安装新的依赖关系,可以使用npm install package --save,它将安装最新版本的软件包并自动将其添加到您的package.json

3

只需使用*版本,像这样:

{ 
    "name": "your app name" 
    , "version": "0.0.1" 
    , "private": true 
    , "dependencies": { 
     "slider": "*" 
    } 
} 

编辑: 正如在评论中指出,这不是一个很好的主意,最好是状态依赖性为“^ 1.2.3” (将匹配1.x)或甚至更好 - “〜1.2.3”(将匹配1.2.x)。

+1

使用“*”(或“> = 0.0.0”)通常不是一个好主意,因为如果库引入了不兼容的更改,那么您的项目可能会中断。 –

+0

@JanTojnar ok!我同意你说的话......所以在那种情况下,如果我想找到什么是最新版本的航点,该怎么办? https://www.npmjs.com/package/waypoints ..我怎么找到什么最新版本的插件,没有去“谷歌”和导航到项目git回购.. –

+0

如果你添加一个新的依赖使用'npm install package --save',如果您只想更新已安装的库,请查看'npm outdated'。 –