使用npm uninstall时自动从package.json中删除依赖项

shr*_*iek 83 node.js npm

之后npm init我可以使用这个我的package.json添加依赖关系:

npm install package --save
Run Code Online (Sandbox Code Playgroud)

并说,我想要uninstall包,我这样做:

npm uninstall package
Run Code Online (Sandbox Code Playgroud)

但我希望我的package.json也能相应更新,而不必手动转到该文件并删除该行.

从npm文档中可以看出:

它是严格加法的,因此它不会从package.json中删除选项而没有充分的理由这样做.

所以,我只是想知道这是否可能.

Mik*_*ans 148

使用相同的--save标志.如果您安装了依赖项:

$> npm install grunt-cli --save
Run Code Online (Sandbox Code Playgroud)

你可以卸载它,使用package.json更新,使用:

$> npm uninstall grunt-cli --save
Run Code Online (Sandbox Code Playgroud)

'save'标志告诉npm根据你刚才做的操作更新package.json.

  • 哇,我现在觉得很傻.谢谢. (11认同)
  • 自从发布这个问题以来,我已经走了很远,这里有点专业知识.您可以使用`npm i <package_name> -S`添加到`dependencies`列表或`npm i <package_name> -D`添加到您的`dev-dependencies`.使用`npm rm <package_name> -S`或`npm rm <package_name> -D`删除相同的标志 (6认同)
  • 我正在使用带有ember-cli的npm,我不得不使用`--save-dev`而不是`--save`. (3认同)
  • 如果你用--save-dev安装它,那么卸载也是--save-dev,因为--save保存到package.json文件的`dependencies`部分,而--save-dev将保存到` devDependencies`部分 (3认同)