npm install --save,有什么不保存的用法

时间:2015-01-07 14:42:38

标签: node.js npm

我理解npm install somethingnpm install something --save之间的区别(对于任何想知道的人,第一个只安装依赖项,而后者将安装依赖项并将其添加到package.json中)。 / p>

但是我不明白为什么首先有--save选项。换句话说,为什么你想要安装一个依赖而不用将它添加到你的package.json文件中?为什么--save选项不是默认值?

许多网站/ npm模块/ SaaS建议使用npm install something安装他们的模块(例如newrelic就是其中之一),我错过了什么?

修改Starting from NPM 5--save现在默认开启。

3 个答案:

答案 0 :(得分:11)

  1. 您可能会遇到一个场景,例如您需要安装某个模块而不会向package.json文件添加依赖项,例如。你只是想尝试一些模块,并且不确定你是否真的在生产中或在部署时使用该模块,因此将模块依赖项添加到package.json,只需尝试不使用--save。这就是npm install没有--save的原因。

  2. 但是对于大多数模块,您可能需要使用--save,例如。 npm install express --save, 在这种情况下,你肯定知道你将使用快递申请。

  3. 另一种情况是,不使用--savenpm install heapdumpnpm install nodemon,我会用它来测试我的应用效果,但不会添加依赖项package.json:)

  4. 另外,正如@surajck在下面的评论中所说:当你进行全局安装时,在这种情况下,使用--save添加依赖关系,package.json是没有意义的。

答案 1 :(得分:10)

我刚从Jonathan Mills那里学到了一个很好的伎俩' Pluralsight上的 JavaScript最佳实践课程。从终端:
npm config set save=true
现在我不再需要记住--save了。我现在也使用
npm config set save-exact=true
因为我希望包的确切版本不是^前缀。

答案 2 :(得分:0)

默认版本为npm 5.0+ npm install将模块添加到package.json文件的依赖项列表中;对于npm的早期版本,必须显式指定--save选项。然后,随后在app目录中运行npm install将自动在依赖项列表中安装模块。