npm 全局安装和本地安装

本文详细解析了npm全局安装和本地安装的区别,包括安装命令、模块存储位置、依赖管理及项目初始化时的行为差异。深入探讨了如何根据项目需求选择合适的安装方式。

1、全局安装
 全局安装: npm install axios -g
-g 代表全局安装模块,一般是C:\Users\Administrator\AppData\Roaming\npm\node_modules 中 或是安装在node安装目录下的node_mouldels文件夹中,全局安装只用安装一次
2、本地安装
  本地安装:
   npm install --save dev axios
   npm install --save axios
   npm install  axios

这几种方式都属于本地安装,会将模块安装在当前命令行所在文件夹下的node_mouldels文件夹中,这几种方式也存在一些差别,下面会详细介绍这几种方式的差别

3、区别

安装方式

命令行

区别

全局安装

npm install axios -g

1、安装模块到全局,不会在项目node_modules目录中保存模块包2、不会将模块依赖写入 devDependencies或dependencies 节点 3、运行 npm install 初始化项目时不会下载模块 4、如果只是全局安装,不能直接通过require()的方式去引用模块,需要手动解决包路径的配置 问题 5、对于包的更新不好管理,可能你需要为每个包重新命名 ,如gulp@3.8.1、gulp@3.9.1…,为了区别不同项目使用指定的包,保证模块之间的相互依赖(这块下 面会介绍),区别每个项目正常运行

本地安装

npm install --save dev axios

1、安装模块到项目node_modules目录下。2、 会将模块依赖写入dependencies 节点3、 运 行npm install初始化项目时,会将模块下载到项目目录下4、 运行npm install -- save production或 者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中

npm install --save axios

1、安装模块到项目node_modules目录下。2、会将模块依赖写入dependencies 节点。3、运 行npm install初始化项目时,会将模块下载到项目目录下4、 运行npm install --production或者注明 NODE_ENV变量值为production时,会自动下载模块到node_modules目录中。"

npm install axios

1、安装模块到项目node_modules目录下2、不会将模块依赖写入devDependencies或 dependencies 节点3、运行 npm install 初始化项目时不会下载模块

4、总结

devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩cssjs的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。像 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 -save 的形式安装。 
本地模式npm命令默认情况下会将包安装到当前目录下,避免了不同程序依赖不同版本包的冲突;减少了包开发者API的兼容性的问题;缺点是会出现一个包安装多次的情况。 
全局模式:提高程序重复利用,避免一个程序多个版本的情况;但是缺点是难以处理不同版本的依赖。

 

### 解决npm全局安装时遇到的错误4058 当遇到npm全局安装失败并显示错误码4058的情况,这通常意味着找不到指定文件或路径。此问题可能由多种因素引起,包括但不限于权限不足、环境变量配置不当或是缺少必要的构建工具。 对于Windows操作系统而言,安装`node-gyp`及其依赖项可以有效缓解此类问题。具体操作如下: 1. 安装适用于Windows系统的构建工具: ```bash npm install --global --production windows-build-tools ``` 2. 全局安装`node-gyp`以支持本地模块编译需求: ```bash npm install -g node-gyp ``` 上述命令有助于确保开发环境中具备完整的C++编译器链及相关库,从而满足某些Node.js原生扩展包(如bcrypt)在安装过程中所需的编译条件[^1]。 另外,在处理特定于bcrypt模块(`bcrypt@5.0.0`)的安装失败案例时,如果执行默认安装流程遭遇退出状态9009,则表明预编译二进制下载尝试失败后回退至源码构建阶段也未成功完成。此时除了确认已正确设置好Visual Studio及其他必要软件外,还应考虑调整网络代理设置来规避潜在的网络访问障碍[^2]。 针对更广泛的npm安装过程中的MSBuild相关警告或错误消息(例如error MSB3428),同样建议通过前述方法补充缺失的基础建设;同时也可以探索修改npm代理设定作为辅助手段之一: ```bash npm config set proxy http://example.com:8080 ``` 请注意替换示例URL为实际可用的企业内部网关地址或其他形式的有效HTTP(S)代理服务器位置信息[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值