nodejs全局安装和本地安装的区别

作者:白树
转载自http://www.cnblogs.com/PeunZh...

上一篇文章《npm 常用命令详解》主要是整理了最常使用的npm命令及相关介绍,其中有提到全局安装(npm install gulp -g)和本地安装(npm install gulp),下图来自Gulp中文网入门指南,可以看出全局安装后gulp后还要进行本地安装,一开始我疑惑了?为什么全局安装的gulp么,还要进行本地安装,难道不能在项目中直接调用本地安装的包?

clipboard.png

带着疑惑,在google找了相关文档,杂七杂八凑合起来才有了点眉目,让我们一起解开nodejs全局安装和本地安装的一些疑惑,如果有讲错的地方,还请大家留意指正。

本文以Windows平台上做测试,以gulp为示例做教程

目录

  1. 什么是全局安装(global)
  2. 什么是本地安装(local)
  3. 为什么全局安装后还要本地安装
  4. 仅全局安装足够吗
  5. 本地安装的重要特性

什么是全局安装(global)

  • 安装位置

全局安装方式是键入命令:npm install gulp -g 或 npm install gulp --global,其中参数-g的含义是代表安装到全局环境里面,包安装在Node安装目录下的node_modules文件夹中,一般在 Users用户名AppDataRoaming 目录下,可以使用npm root -g查看全局安装目录。

clipboard.png

  • 调用方式

全局安装后可以供命令行(command line)使用,用户可以在命令行中直接运行该组件包支持的命令,如下图全局安装gulp后的cmd文件。

clipboard.png

什么是本地安装(local)

  • 安装位置

本地安装方式是键入命令:npm install gulp 或 npm install gulp --save-dev等,其中参数--save-dev的含义是代表把你的安装包信息写入package.json文件的devDependencies字段中,包安装在指定项目的node_modules文件夹下。

clipboard.png

  • 调用方式

本地安装后可以直接通过require()的方式引入项目中node_modules目录下的模块,如下示例,本地安装后直接在gulpfile.js中require('gulp')。

clipboard.png

为什么全局安装后还要本地安装

  • 仅全局安装足够吗

1.在js实例代码中,默认下node.js会在NODE_PATH和目前js所在项目下的node_modules文件夹下去寻找模块,因此,如果只是全局安装,不能直接通过require()的方式去引用模块,需要手动解决包路径的配置问题,当然你也可以复制全局安装的node_modules文件夹到项目下,还有办法可以选择将环境变量的NODE_PATH设置为C:Program Filesnodejs。

2.对于包的更新不好管理,可能你需要为每个包重新命名,如gulp@3.8.1、gulp@3.9.1...,为了区别不同项目使用指定的包,保证模块之间的相互依赖(这块下面会介绍),区别每个项目正常运行。

因此,不推荐只全局安装。

  • 本地安装的重要性

最早的node.js/npm实际上是全局的,包括现在还兼容NODE_PATH,但是不能支持全局多版本,于是nodejs团队改成本地安装的方法可能就是为了保证不同版本包之间的相互依赖,什么意思呢,举个例子weui组件中相互依赖的包就有12个

clipboard.png

其中依赖包的指定版本号如下,不可轻易去修改,因为不同版本包对应依赖包的版本的功能有所差别,如果修改指定的版本来运行weui,就可能会编译出错等bug。

clipboard.png

再举个例子:

包版本为:

A(0.0.1)依赖B(0.0.2),B(0.0.1)依赖C(0.0.3)

一段时间原作者更新后,包版本为:

A(1.0.1)依赖B(1.0.0),B(1.0.0)依赖C(1.0.0)

每一次的更新可能带来不一样的功能,在多人合作、发布模块到npmjs社区、上传到github给其他人使用时,保留模块的版本信息可用于下载指定的版本号显得特别重要。

本地安装可以让每个项目拥有独立的包,不受全局包的影响,方便项目的移动、复制、打包等,保证不同版本包之间的相互依赖,这些优点是全局安装难以做到的。

另外,据node团队介绍,本地安装包对于项目的加载会更快。

有优点也少不了缺点,如每次新项目都要本地安装所依赖的包,安装包时间相对较长,一来是包太大导致下载慢;二是浪费了硬盘空间,不过现在电脑硬盘动不动就几个T,你还会在意节省这点空间吗?

首先,你需要在你的电脑上安装Node.js。Node.js是一个用于构建可扩展网络应用程序的JavaScript运行时环境。 接下来,你可以通过使用Node.js的包管理器npm来安装Vue.js框架。请按照以下步骤进行操作: 1. 打开命令行工具(如cmd或终端)。 2. 输入以下命令来检查Node.js是否已经安装成功: ``` node -v ``` 如果成功安装,你会看到Node.js的版本号。 3. 输入以下命令来安装Vue.js: ``` npm install -g @vue/cli ``` 这将会全局安装Vue CLI(Vue.js的命令行工具)。 4. 安装完成后,你可以输入以下命令来创建一个新的Vue项目: ``` vue create 项目名称 ``` 在这个命令中,你需要将"项目名称"替换为你自己想要的项目名称。 5. 在创建项目的过程中,你将会被询问选择创建Vue3还是Vue2的项目。选择Vue3并按回车键继续。 6. 完成项目创建后,你可以通过以下命令进入到项目目录: ``` cd 项目名称 ``` 在这个命令中,你需要将"项目名称"替换为你创建的项目的名称。 7. 输入以下命令来运行Vue项目: ``` npm run serve ``` 这将会启动一个本地开发服务器,并在浏览器中显示你的Vue应用程序。你可以通过访问http://localhost:8080来查看你的应用程序。 总结起来,安装Vue.js需要先安装Node.js,然后使用npm来全局安装Vue CLI,接着创建一个新的Vue项目,并最后通过npm运行该项目。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值