澄清npm install的--save选项

Emy*_*myl 8 node.js npm

第一次使用node.js/npm.从npm-install文档我读到:

npm install需要3个独有的可选标志,用于保存或更新主程序包中的软件包版本package.json:

  • --save:套餐将出现在您的dependencies.

  • --save-dev:套餐将出现在您的devDependencies.

  • --save-optional:套餐将出现在您的optionalDependencies.

但我无法理解它在实践中是如何运作的.例如,如果我运行命令:

npm install bower --save-dev
Run Code Online (Sandbox Code Playgroud)

我希望package.json在当前目录中找到一个文件,并devDependencies设置为已安装的bower版本,而我什么都没找到.

我在做/期待有什么不对吗?

在Ubuntu 12.04 x64上使用节点v0.10.21,npm 1.3.12

bev*_*qua 7

npm不会创造 package.json你,但它为你只要创造必要的依赖关系package.json 存在,是合法的JSON.

像这样创建它

echo {} > package.json
Run Code Online (Sandbox Code Playgroud)

然后,do npm i --save whatever将按whatever@~x.x.x预期添加为依赖项.该文件需要存在,并且是JSON,就是这样.

npm.png