我之前使用过全局安装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 version 3.8.11 [11:14:26] Local version 3.8.11
现在我无法使用gulp正确合并我的JS文件(我在min文件中得到了一些奇怪的格式错误),我怀疑它与这种不匹配有关.
有没有办法删除全局gulp版本,但保持项目特定gulp?
或者我可以将我的全球版本更新为@ 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'); ...
合并文件中的实际输出(下面的1行代码错误地替换了上面的4行) -
... var'utils/knockoutBindings/slider',['require','ko','jquery'],function(require) { ...
看起来gulp代码中存在一个问题,但是其他用户使用相同的代码,并且它在最终结果中运行良好.我们发现的唯一区别在于我的gulp版本不匹配.
我正在回答我自己的问题,这对其他人有用.
有没有办法删除全局gulp版本,但保持项目特定gulp?
不需要AFAIK,您需要在全球范围内安装gulp以及特定于项目的gulp.
关于gulp版本的更多信息在这里.
为什么我们需要在全球和本地安装gulp?
http://blog.dwaynecrooks.com/post/110903139442/why-do-we-need-to-install-gulp-globally-and
https://github.com/gulpjs/gulp/issues/171
https://github.com/gulpjs/gulp/issues/140
或者我可以将我的全球版本更新为@ 3.8.11吗?
由于我在本地版本中遇到不匹配,我不得不从项目文件夹本身更新它.
npm install gulp@3.8.11 --save
有关这方面的更多信息.
http://www.eskocruz.com/gulp-version-mismatch