npm i安装命令中的-g -D -S的区别

本文详细解释了npm安装命令中的-g、-D、-S的区别,包括全局安装、局部安装及如何将模块写入到devDependencies和dependencies对象中,帮助开发者更好地理解和使用npm。

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

npm i安装命令中的-g -D -S的区别

  • npm i xx -g:npm install xx --global的简写,对模块进行全局安装。

    所谓全局安装,是指把模块安装到操作系统上,全局是指操作系统,全局安装完成后,一般会安装到AppDataAppData\Roaming\npm目录下。如:npm install webpack -g,就是全局安装webpack,在操作系统的任何一个目录下都可以使用webpack所提供的指令。

  • npm i xx -D:npm install xx --save-dev的简写,对模块进行局部安装,模块写入到 devDependencies 对象。

    1. 局部的意思是只针对当前项目,模块一般安装到项目文件夹下的node_modules文件夹下。
    2. devDependencies对象,是我们开发的时候需要用到的一些包,只用于开发阶段,真正打包上线的时候并不需要这些包,因为这些工具只是你用来打包代码的,是用来识别特定文件以及代码,帮助我们生产最终文件的。如npm i vue-loader vue-template-complier -D,就是在Vue项目中安装vue模板文件的解析插件,经过配置后即可在项目中解析vue模板
  • npm i xx -S:npm install xx --save 的简写,同上也是对模块进行局部安装,不同的是模块写入到 dependencies对象。

    1. 模块同上一样将安装到项目文件夹下的node_modules文件夹下。
    2. dependencies对象,这个与devDependencies不同,是需要发布到生产环境中的,就比如你要跑一个基于vue的项目,所以需要vue.js来支持,vue.js文件就需要跟随项目到最终的生产环境。npm i vue -S即可将Vue模块安装到项目的依赖中,并一同发布到生产环境。

下图为项目根目录下的package.json中的devDependencies和dependencies对象
在这里插入图片描述

### 解决npm全局安装pnpm时卡住的问题 当遇到`npm install -g pnpm`命令执行过程中卡住的情况,可以尝试以下几个方法来解决问题。 #### 方法一:更改NPM镜像源 有时默认的NPM注册表可能由于网络原因导致连接缓慢或失败。可以通过切换到国内更稳定的镜像源来加速下载过程[^3]: ```bash npm config set registry https://registry.npmmirror.com/ ``` 这会将官方NPM仓库地址改为阿里云提供的镜像站点,通常能显著提高资源获取速度并减少超时的可能性。 #### 方法二:配置代理服务器 如果工作环境处于企业内网环境中,则可能是缺少必要的HTTP(S)代理设置所引起的通信障碍。此时应该按照公司规定正确配置代理参数[^2]: ```bash npm config set proxy http://your-proxy-server:port npm config set https-proxy http://your-proxy-server:port ``` 请注意替换上述命令中的`http://your-proxy-server:port`为实际可用的企业内部代理服务地址及端口号。 #### 方法三:清除本地缓存文件夹 长期使用NPM可能会积累大量无用的数据包残留于磁盘上,这些冗余项偶尔会造成冲突进而影响新软件包的成功部署。因此建议定期清理旧版本遗留下来的临时文件以保持最佳状态: ```bash npm cache clean --force ``` 此操作将会强制清空所有已存储在本机上的依赖库副本,从而释放更多空间供后续操作利用。 #### 方法四:调整PNPM相关路径变量 对于希望自定义化管理工具链路位置的需求方而言,在完成基本环境搭建之后还需要进一步指定特定目录作为全局可访问的目标容器以及对应的辅助功能区位[^1]: ```bash npm config set prefix "D:\file\node\node_global" npm config set cache "D:\file\node\node_cache" pnpm config set global-bin-dir "D:\file\node\node_global" pnpm config set cache-dir "D:\file\node\node_global\cache" pnpm config set global-dir "D:\file\node\node_global\global" pnpm config set state-dir "D:\file\node\node_global\state" ``` 通过以上步骤设定好各个组件之间的关联关系后再次尝试重新安装即可恢复正常运作流程。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值