为啥要在全局和本地都安装 gulp?

Posted

技术标签:

【中文标题】为啥要在全局和本地都安装 gulp?【英文标题】:Why should gulp be installed both globally and locally?为什么要在全局和本地都安装 gulp? 【发布时间】:2017-06-27 11:06:13 【问题描述】:

我是 npm 和 gulp 的新手。我正在 gulp 上阅读此 css-tricks tutorial。在安装 Gulp 部分中,他们全局安装了 gulp,以便它可以在计算机中的任何位置与命令行一起使用。在下一节创建 Gulp 项目中,他们再次在本地安装了 gulp

我不明白的是,如果 gulp 已经在全球范围内安装并且我们可以在任何地方使用它,那么为什么要安装 gulp 两次?为什么不将gulpfile.js 与其他package.json 文件放在一起?

【问题讨论】:

【参考方案1】:

您甚至不需要安装gulp globaly。只需将它放在本地并将 gulp 命令放入 package.json 脚本中,如下所示:

  "scripts": 
    "start": "gulp",
    "speed-test": "gulp speed-test -v",
    "build-prod": "gulp build-prod",
    "test": "NODE_ENV=test jasmine JASMINE_CONFIG_PATH=spec/support/jasmine.json"
  ,

比从事同一个项目的每个人都可以npm install 并开始运行命令,甚至无需全局安装 gulp。

npm start 将运行 gulp npm run speed-test 将运行 gulp speed-test -v npm run build-prod 将运行 gulp build-prod

当然,您可以在其中添加任意数量的命令。如果团队中的某个人拥有或想要在全球范围内拥有gulp,那么他们可以直接从终端运行gulp 命令。

【讨论】:

谢谢,这似乎是一个有用的技术【参考方案2】:

您在终端中使用简单的gulp 命令全局安装gulp,并在本地安装gulp(带有package.json 依赖项)以免丢失依赖项,因为您可以将项目安装到任何计算机上,致电npm i 并使用./node_modules/.bin/gulp 访问gulp,无需任何额外安装

【讨论】:

@user31782 是的,npm inpm install 的短版 npm i 给了我以下错误:H:\C\BRQX\Transports\index1>npm i npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.17: wanted "os":"darwin","arch":"any" (current: "os":"win32","arch":"x64") 另外,如果我将我的项目安装到另一台计算机上,那么 node_modules 文件夹也将被复制。在该文件夹中 gulp 已经存在,因此其他计算机不需要全局安装 gulp。 @user31782 你应该在.gitignore 文件中添加node_modules 并在你的SVN 中推送这个文件夹。当有人从 SVN 克隆您的项目时,他只需运行 npm install 并从 npm 获取所有依赖项。您可以阅读这篇文章以了解为什么要这样做:quora.com/Should-I-put-node_modules-in-gitignore 如果我将 node_modules 文件夹放在 gitignore 文件中,那么如果有人克隆存储库,他将不会下载 node_modules 但他仍然会下载 package.jsonfile 已经在我的项目中的许多其他依赖项中提到的 package.jsonfile .现在我假设新开发人员仍会在本地安装这些依赖项,因为他不想安装 10 - 50 个全局依赖项。现在又为什么他要在全局和本地安装 gulp?

以上是关于为啥要在全局和本地都安装 gulp?的主要内容,如果未能解决你的问题,请参考以下文章

跳过 Gulp 的本地安装

前端自动化构建(gulp)

本地安装的 gulp 不在命令行中运行?

gulp -- 前端自动化管理工具的使用

gulp-connect 启动本地服务及实现浏览器热加载

gulp构建工具的安装与使用