npm install 安装总结

本文详细解释了npminstall命令的不同用法,包括安装模块到全局或本地、在package.json中添加依赖的区别,以及如何删除模块。重点在于区分dependencies和devDependencies,以及在不同环境下的包管理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

npm install moduleName

  • 会把moduleName 包安装到node_modules目录中
  • 不会修改package.json
  • 之后运行npm install命令时,不会自动安装moduleName

npm install moduleName -g

  • 安装模块到全局,不会在项目node_modules目录中保存模块包。
  • 不会将模块依赖写入devDependencies或dependencies 节点。
  • 运行 npm install 初始化项目时不会下载模块。

将会安装在C盘\用户目录\AppData\Roaming\npm,并且写入系统环境变量;非全局安装:将会安装在当前定位目录;全局安装可以通过命令行任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过要求调用;

npm install moduleName --save  也可以简写成  npm install moduleName -S

  • 会把moduleName 包安装到node_modules目录中
  • 会在package.json的dependencies属性下添加moduleName,dependencies 是需要发布到生产环境的
  • 之后运行npm install命令时,会自动安装moduleName 到node_modules目录中
  • 之后运行npm install --production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中,即是在线上环境运行时会将包安装

npm install moduleName –save-dev 也可以简写成 npm install moduleName -D

  • 会把moduleName 包安装到node_modules目录中
  • 会在package.json的devDependencies属性下添加moduleName,devDependencies 里面的插件只用于开发环境,不用于生产环境
  • 之后运行npm install命令时,会自动安装moduleName 到node_modules目录中
  • 之后运行npm install –production或者注明NODE_ENV变量值为production时,不会自动安装moduleName 到node_modules目录中

区别:
在用npm install 单独安装 npm 包时,有两种命令参数可以把它们的信息写入 package.json 文件,一个是npm install–save,另一个是 npm install –save-dev,他们表面上的区别是:
–save 会把依赖包名称添加到 package.json 文件 dependencies 下,
–save-dev 则添加到 package.json 文件 devDependencies下 

除了表面区别真正的区别是:
dependencies是运行时的依赖,
devDependencies是开发时的依赖。

即devDependencies 下列出的模块,是我们开发时用的,比如 我们安装 js的压缩包gulp-uglify 时,我们采用的是 “npm install –save-dev gulp-uglify ”命令安装, 因为我们在发布后用不到它,而只是在我们开发才用到它。

举例:
像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了,这是dependencies;
而写 ES6 代码,需要babel转换成es5,转换完成后,我们只需要转换后的代码,上线的时候,直接把转换后的代码部署上线,不需要babel了,上线了不需要,这就是devDependencies。
而如果用了 jQuery,由于发布之后还是依赖jQuery,所以是dependencies。

补充:
正常使用 npm install 时,会下载dependencies和devDependencies中的模块,当使用npm install –production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。


删除模块:

npm uninstall 模块

删除本地模块时你应该思考的问题:是否将在package.json上的相应依赖信息也消除?
  npm uninstall 模块:删除模块,但不删除模块留在package.json中的对应信息
  npm uninstall 模块 --save 删除模块,同时删除模块留在package.json中dependencies下的对应信息
  npm uninstall 模块 --save-dev 删除模块,同时删除模块留在package.json中devDependencies下的对应信息

本文参考:https://blog.csdn.net/aaqingying/article/details/101371352

<think>好的,我现在需要回答用户关于npm install命令可以安装哪些内容的问题,特别是包括全局包和本地依赖。首先,我得回忆一下自己对npm的了解,然后结合提供的引用内容来组织答案。 首先,用户的问题集中在npm install可以安装什么,包括全局包和本地依赖。根据引用内容,引用[1]提到npm install有全局安装(-g)和本地安装,后者又分为开发依赖(--save-dev)和生产依赖(--save)。引用[2]和[3]也涉及到全局安装的问题和解决方法,比如环境变量配置和依赖管理。 我应该先解释npm install的基本用途,然后分点说明全局包和本地依赖,包括开发依赖和生产依赖的区别。需要确保使用正确的术语,比如全局安装使用-g参数,本地安装默认在项目目录下。此外,要提到package.json的作用,因为依赖会被记录在这里,方便团队协作和部署。 可能还需要提到一些常见的使用场景,比如安装项目所有依赖时使用npm install,或者安装特定包并保存到依赖中。同时,根据引用[3],提到npm link和删除node_modules的操作可能相关,但用户的问题主要关注安装内容,这部分可能作为扩展或问题生成部分。 需要检查是否有遗漏点,比如测试包或其它类型的依赖,但根据引用[3]提到的测试包,可能属于开发依赖的一部分。此外,注意用户可能混淆本地包和全局包的使用场景,需要明确区分。 最后,确保回答结构清晰,分点说明,并正确引用提供的资料。比如在解释全局安装时引用[1],在提到安装路径和环境变量时引用[2]和[3]。同时,生成的相关问题要围绕npm install的不同方面,如参数区别、依赖管理、常见错误解决等。</think>### npm install 命令的安装内容 `npm install` 是 Node.js 包管理工具(npm)的核心命令,主要用于安装项目依赖或全局工具包。以下是它可以安装的内容分类: --- #### 1. **全局包(Global Packages)** - **用途**:安装全局可用的工具或命令行程序,例如`nodemon`、`webpack-cli`等。 - **安装方式**:添加 `-g` 或 `--global` 参数。 示例:`npm install -g typescript` 全局包默认安装在系统目录(如`/usr/local/lib/node_modules`),需确保安装路径已添加到环境变量中[^1][^2]。 - **查看全局包**:`npm list -g --depth=0` 可列出已安装的全局包[^2]。 --- #### 2. **本地依赖(Local Dependencies)** - **用途**:安装项目所需的依赖,存储在项目目录的 `node_modules` 文件夹中,分为两类: 1. **生产依赖(Production Dependencies)** - 通过 `--save` 或 `-S` 参数安装,例如:`npm install lodash --save`。 - 这些依赖是项目运行所必需的(如框架、工具库),会被记录在 `package.json` 的 `dependencies` 字段中[^3]。 2. **开发依赖(Development Dependencies)** - 通过 `--save-dev` 或 `-D` 参数安装,例如:`npm install eslint --save-dev`。 - 这类依赖仅在开发阶段需要(如测试工具、构建工具),记录在 `package.json` 的 `devDependencies` 中。 - **其他操作**: - 仅安装 `package.json` 中的依赖:直接运行 `npm install` 会自动安装所有 `dependencies` 和 `devDependencies`。 - 安装特定版本:`npm install package@version`(如 `npm install react@18.2.0`)。 --- #### 3. **特殊场景** - **测试包或临时依赖**:可通过 `npm link` 将本地开发的包链接到全局,方便测试。 - **依赖冲突处理**:若安装失败,可尝试删除 `node_modules` 后重新安装(`rm -rf node_modules && npm install`)。 --- ### 总结 `npm install` 支持安装全局工具包、本地生产/开发依赖,并通过 `package.json` 管理依赖版本。正确使用参数(如 `-g`、`--save`)和配置文件是高效管理依赖的关键。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值