gulp本地和CLI版本不匹配

gulp本地和CLI版本不匹配,gulp,Gulp,我以前使用npm install gulp-g全局安装过gulp。然后我克隆了一个现有的项目,这需要我使用它自己的功能。现在,当我从项目文件夹外部执行gulp-v时,会出现这样的不匹配 C:\Users\userme> [11:14:05] CLI version 3.8.11 [11:14:05] Local version 1.0.0 当我从我的项目文件夹中大口喝一口时,我得到了这个 C:\project\new\tools> [11:14:26] CLI versio

我以前使用
npm install gulp-g
全局安装过gulp。然后我克隆了一个现有的项目,这需要我使用它自己的功能。现在,当我从项目文件夹外部执行
gulp-v
时,会出现这样的不匹配

C:\Users\userme>    
[11:14:05] CLI version 3.8.11
[11:14:05] Local version 1.0.0
当我从我的项目文件夹中大口喝一口时,我得到了这个

C:\project\new\tools>
[11:14:26] CLI version 3.8.11
[11:14:26] Local version 3.8.11
现在,我无法使用gulp正确合并我的JS文件(我在min文件中遇到了一些奇怪的格式错误),我怀疑这与这种不匹配有关

  • 是否有一种方法可以删除全局gulp版本,但保留项目特定的gulp
  • 或者我可以将我的全局版本gulp更新为@3.8.11
  • 注意-我确实尝试过使用
    npm update更新全局gulpgulp@3.8.11-g
    但什么也没发生。我仍然得到不匹配

    更新以描述问题: 我正在使用gulp将多个JS文件合并到一个main.JS文件中。我在合并文件中得到的格式有一个语法错误

    合并文件中的预期输出-

    ...
    define('utils/knockoutBindings/slider',['require','ko','jquery'],function(require) {
        'use strict';
        var ko = require('ko');
        var $ = require('jquery');
    ...
    
    合并文件中的实际输出(下面的1行代码错误地替换了上面的4行代码)——


    可能看起来gulp代码中存在问题,但其他用户也使用相同的代码,并且在他们的终端上运行良好。我们发现的唯一区别在于我的吞咽版本不匹配。

    我回答我自己的问题,只是为了对其他人有用

  • 有没有一种方法可以删除全局gulp版本,但保留项目特定的gulp
  • 不。好的,您需要在全球范围内安装gulp,也需要针对您的项目安装一个gulp

    更多关于大口喝的信息请点击这里

  • 或者我可以将我的全局版本gulp更新为@3.8.11吗
  • 因为我的本地版本不匹配,我不得不从项目文件夹本身更新它

    npm install gulp@3.8.11 --save
    
    更多信息请点击这里


    删除node\u modules文件夹并在该目录中运行
    npm install gulp
    解决了我的问题。

    要更新本地版本
    npm installgulp@version_you_need


    更新CLI版本
    npm安装-ggulp@version_you_need

    npm安装-g gulp
    不是从项目文件夹中或项目文件夹外为我修复的。我的gulp版本在package.json文件中已经正确。我所要做的就是从项目文件夹中运行
    npm install
    ,并且纠正了项目文件夹中的gulp版本。

    将本地版本和全局版本更新为相同的版本修复了问题。我最初的
    gulp-v
    生成了
    CLI版本3.9.1
    本地版本4.0.0
    。我从项目文件夹
    npm安装中更新了本地版本gulp@3.9.1--保存
    。这解决了我的问题。

    Gulp 4使用更新的CLI,需要全局更新。此CLI向后兼容本地可能有的任何Gulp 3.X项目

    似乎
    gulp cli的
    2.3.0
    2.3.0
    ,这意味着始终存在不匹配

    如果运行npm install-g gulp
    ,则将安装最新版本的CLI。如果您安装了任何其他版本,则它将更新为最新版本

    本地版本的最新版本(在本文发布时)是
    4.0.2

    运行
    npm安装--保存dev gulp
    ,将最新版本的gulp作为开发人员依赖项安装到项目文件夹中。与CLI版本一样,如果您有较旧的版本,它将更新

    不匹配的版本可以正常工作

    旁注:如果您在Mac电脑上工作,并且拥有管理权限,请记住在全局安装前加上
    sudo
    ,例如
    sudo npm install-g gulp


    但是如果您没有管理员权限,并且您可以更新本地版本,但不能更新全局版本,那么您可以从项目文件夹中运行
    node./node\u modules/gulp/bin/gulp.js
    ,它将执行gulp文件,即使您的CLI版本错误,但是您需要设置
    默认任务。

    可能会将您得到的实际错误放在一起,但可能不是因为吞咽导致错误。我希望我可以。但是我已经更新了这个问题,更详细地描述了这个问题。你实际上不需要全局的
    吞咽
    。只需在全局范围内安装
    gulp cli
    。根据gulp文档:如果您以前在全局范围内安装过一个版本的gulp,请运行npm rm--global gulp,以确保您的旧版本不会与gulp-cli冲突。是否有人能向我解释为什么在升级我的gulp cli之前,它的版本是3.9.1,然后升级到最新的its,现在是2.2.0<代码>[18:55:40]CLI版本3.9.1[18:55:40]本地版本4.0.2
    让我抓狂,直到我在npm gulp CLI页面上看到当前版本是2.2.0?
    npm install gulp@3.8.11 --save