Npm gulp安装全局与本地作为开发人员依赖项

Npm gulp安装全局与本地作为开发人员依赖项,npm,gulp,npm-install,Npm,Gulp,Npm Install,从gulp的“说明”页面,它被要求作为开发人员依赖项在项目中以及全局安装它 我的问题是为什么我们需要安装两次?为什么项目一不能使用全局项目 我确实收到了这个错误提示,要求在本地安装它,我也遵循了这个教程,但仍然卡住了 Link->此错误表示您没有在本地安装gulp。这意味着您必须将其添加到package.json中的依赖项中(或者只需调用npm i gulp--save) 它需要在本地安装,因为gulpfile.js通常运行一些与gulp相关的代码。这就是为什么它调用var gulp=requi

从gulp的“说明”页面,它被要求作为开发人员依赖项在项目中以及全局安装它

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

我确实收到了这个错误提示,要求在本地安装它,我也遵循了这个教程,但仍然卡住了


Link->

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

它需要在本地安装,因为
gulpfile.js
通常运行一些与
gulp
相关的代码。这就是为什么它调用
var gulp=require('gulp')
位于
gulpfile.js的顶部。此调用从您的包
节点\u模块中加载
gulp
。这也是像
gulp.task
gulp.src
这样的函数的来源

同时,您希望在CLI中轻松使用
gulp
,这就是为什么还需要在全局范围内安装它,以便您只需通过以下方式运行它:

$ gulp
顺便说一句,您也可以只运行本地的
gulp

  • 插入到您的
    包.json

    "scripts": {
        "gulp": "gulp",
    }
    
    这告诉
    npm
    通过执行
    gulp
    命令,我们希望运行脚本
    /node\u modules/.bin/gulp

  • 运行(您必须在所有项目中执行此操作):


  • 因此,在全局范围内安装它肯定更容易。

    谢谢或全面的回复,这是有意义的,只是为了了解更多,当您在使用terminal的项目目录中,然后发出命令
    $gulp
    时,它会启动本地的还是全局的?当您在项目中时,它会运行全局的。尝试运行
    $which gulp
    。例如,在我的系统上,它安装在
    /opt/local/bin/gulp
    中。好的,
    哪个gulp
    返回了
    /usr/local/bin/gulp
    ,而在我的情况下,当我在非项目目录中发出命令
    $gulp
    时,全局的gulp会查找本地的,
    npm install gulp cli-g
    npm install gulp-g
    ,这两个程序之间有什么区别?
    gulp cli
    是您全局安装的程序,只需调用
    $gulp
    即可。您可能不想安装
    npm install gulp-g
    。项目的所有包依赖项都应在本地安装。
    "scripts": {
        "gulp": "gulp",
    }
    
    $ npm run gulp