gulp 安装全局与本地作为开发依赖

gulp installation global vs. local as dev dependency

从 gulp 的说明页面,要求将其全局安装以及作为开发依赖项安装在项目中。

我的问题是为什么我们需要安装两次?为什么项目一不能用全局的?

我确实收到此错误提示,提示我在本地安装它,我也遵循了本教程,但仍然卡住了。 http://blog.webbb.be/command-not-found-node-npm/

[11:47:51] Local gulp not found in ~/Documents/project
[11:47:51] Try running: npm install gulp

Link-> https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md

该错误表示您没有在本地安装 gulp。这意味着您必须将它添加到 package.json 中的依赖项中(或者只调用 npm i gulp --save)。

它需要在本地安装,因为 gulpfile.js 通常 运行 有一些与 gulp 相关的代码。这就是它在 gulpfile.js 的顶部调用 var gulp = require('gulp'); 的原因。此调用从您的包 node_modules 加载 gulp。这也是 gulp.taskgulp.src 等函数的来源。

同时您想在 CLI 中轻松使用 gulp,这就是为什么它也需要全局安装,这样您就可以 运行 它只需:

$ gulp

顺便说一句,您也可以 运行 仅本地 gulp:

  1. 插入你的 package.json:

    "scripts": {
        "gulp": "gulp",
    }
    

    这告诉 npm 通过执行 gulp 命令我们想要 运行 脚本 ./node_modules/.bin/gulp.

  2. 运行(你必须在所有项目中这样做):

    $ npm run gulp
    

所以全局安装肯定更容易。