gulp local和CLI版本不匹配

rod*_*iwa 15 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
Run Code Online (Sandbox Code Playgroud)

当我从我的项目文件夹中吞下一口之后,我就明白了.

C:\project\new\tools>
[11:14:26] CLI version 3.8.11
[11:14:26] Local version 3.8.11
Run Code Online (Sandbox Code Playgroud)

现在我无法使用gulp正确合并我的JS文件(我在min文件中得到了一些奇怪的格式错误),我怀疑它与这种不匹配有关.

  1. 有没有办法删除全局gulp版本,但保持项目特定gulp
  2. 或者我可以将我的全球版本更新为@ 3.8.11吗?

注意 - 我确实尝试通过使用更新全局gulp npm update gulp@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');
...
Run Code Online (Sandbox Code Playgroud)

合并文件中的实际输出(下面的1行代码错误地替换了上面的4行) -

...
var'utils/knockoutBindings/slider',['require','ko','jquery'],function(require) {
...
Run Code Online (Sandbox Code Playgroud)

看起来gulp代码中存在一个问题,但是其他用户使用相同的代码,并且它在最终结果中运行良好.我们发现的唯一区别在于我的gulp版本不匹配.

rod*_*iwa 19

我正在回答我自己的问题,这对其他人有用.

  1. 有没有办法删除全局gulp版本,但保持项目特定gulp?

不需要AFAIK,您需要在全球范围内安装gulp以及特定于项目的gulp.

关于gulp版本的更多信息在这里.

  1. 或者我可以将我的全球版本更新为@ 3.8.11吗?

由于我在本地版本中遇到不匹配,我不得不从项目文件夹本身更新它.

npm install gulp@3.8.11 --save
Run Code Online (Sandbox Code Playgroud)

有关这方面的更多信息.

  • 您实际上并不需要全局“gulp”。只需全局安装“gulp-cli”即可。 (2认同)
  • 有人可以向我解释为什么在升级gulp-cli之前是3.9.1版,然后在升级到最新的2.2.0版之后又为什么吗?`[18:55:40] CLI版本3.9.1 [18:55:40]本地版本4.0.2`让我发疯了,直到我在npm gulp-cli页面上看到当前版本是2.2.0? (2认同)

Mei*_*der 17

更新您的本地版本 npm install gulp@version_you_need

更新 CLI 版本 npm install -g gulp@version_you_need