我之前使用npm install gulp -g
全局安装了gulp。然后我克隆了一个现有的项目,这就要求我使用它自己的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文件中得到一些奇怪的格式错误),我怀疑这与这种不匹配有关。
1.是否有办法删除全局gulp版本,但保留项目特定的gulp?
1.或者我可以将我的全球版本gulp更新到@3.8.11吗?
注意-我确实尝试使用npm update gulp@3.8.11 -g
更新全局gulp,但没有任何React。我仍然得到不匹配。
**更新来描述这个问题:**我正在使用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版本中的不匹配。
6条答案
按热度按时间ecfsfe2w1#
我在回答我自己的问题,只是为了对别人有用。
1.有没有办法删除全局的大口版本,但保留项目特定的大口?
不。AFAIK,您需要在全局范围内安装gulp,也需要为您的项目安装一个特定的gulp。
更多关于吞咽版本的信息在这里。
1.或者我可以将我的全球版本gulp更新到@3.8.11吗?
由于我在本地版本中遇到了不匹配的情况,我不得不从项目文件夹本身更新它。
点击此处了解更多信息。
xqk2d5yq2#
更新本地版本
npm install gulp@version_you_need
更新CLI版本
npm install -g gulp@version_you_need
nnt7mjpx3#
删除node_modules文件夹并在该目录中运行
npm install gulp
解决了我的问题。kxe2p93d4#
npm install -g gulp
没有为我修复它,无论是在项目文件夹内还是在项目文件夹外。我的gulp版本在我的package.json文件中已经是正确的。我所要做的就是在项目文件夹内运行npm install
,项目文件夹中的gulp版本就被更正了。xienkqul5#
将本地版本更新为与全局版本相同的版本解决了这个问题。我的初始
gulp -v
生成了CLI version 3.9.1
和Local version 4.0.0
。我从项目文件夹npm install gulp@3.9.1 --save
中更新了本地版本。这解决了我的问题。aij0ehis6#
Gulp 4使用了一个更新的CLI,需要全局更新。这个CLI向后兼容任何本地的Gulp 3.X项目-Read more。
看起来
gulp-cli
的latest version(在这篇文章的时候)是2.3.0
,这意味着总是会有不匹配。如果运行
npm install -g gulp
,则将安装最新版本的CLI。如果安装了任何其他版本,则将更新为最新版本。本地版本的最新版本(在本文发表时)是
4.0.2
。运行
npm install --save-dev gulp
将Gulp的最新版本作为dev-dependency安装到您的项目文件夹中。与CLI版本一样,如果您有旧版本,它也会更新。不匹配的版本工作正常。
sudo npm install -g gulp
),请记得在全局安装前加上sudo
。node ./node_modules/gulp/bin/gulp.js
,它将执行gulp文件,即使您的CLI版本错误,但您 * 需要 * 设置default
任务。