TypeError:无效版本:使用Visual Studio中的Gulp进行未定义

时间:2015-07-10 15:15:22

标签: node.js visual-studio-2013 gulp

我是所有这些Node.js,npm,Bower和Gulp的新手,所以我想开始熟悉它。我开始安装Node.js,这似乎很顺利。然后我根据我在网上找到的内容在全球和本地安装了gulp:

> npm install --global gulp
> npm install --save-dev gulp

第二个当然是在我的项目目录中完成的,它确实更新了我的package.json文件。

所以我现在有一个看起来像这样的package.json文件:

{
 "name": "typescripttestapp",
 "version": "1.0.0",
 "description": "",
 "main": "index.html",
 "dependencies": {
 },
 "devDependencies": {
   "del": "^1.2.0",
   "gulp": "^3.9.0",
   "gulp-concat": "^2.6.0",
   "gulp-copy": "0.0.2",
   "gulp-typescript": "^2.7.8"
 },
 "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
 "license": "ISC"
}

我还在Visual Studio中安装了Task Runner Explorer。我有以下gulpfile.js:

var gulp = require('gulp');

gulp.task("default",function(){});

但是,每当我尝试刷新Task Runner Explorer时,我在输出窗口中都会出现以下错误:

  

无法加载   “F:\企业\开发\ TestSandBoxes \ TypeScriptTestApp \ TypeScriptTestApp \ gulpfile.js” ...   C:\ Users \用户rodd_harris \应用程序数据\漫游\ NPM \ node_modules \吞\ node_modules \ semver \ semver.js:281       抛出新的TypeError('无效版本:'+版本);             ^ TypeError:无效版本:未定义       在新的SemVer(C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ semver \ semver.js:281:11)       在SemVer.compare(C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ semver \ semver.js:348:13)       比较时(C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ semver \ semver.js:571:31)       在Function.gt(C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ semver \ semver.js:600:10)       在Liftoff.handleArguments(C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ bin \ gulp.js:99:14)       在Liftoff。 (C:\用户\ rodd_harris \应用程序数据\漫游\ NPM \ node_modules \吞\ node_modules \剥离\ index.js:192:16)       在module.exports(C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ liftoff \ node_modules \ flagged-respawn \ index.js:17:3)       在Liftoff。 (C:\用户\ rodd_harris \应用程序数据\漫游\ NPM \ node_modules \吞\ node_modules \剥离\ index.js:185:9)       在C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ liftoff \ index.js:159:9       在C:\ Users \ rodd_harris \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ v8flags \ index.js:91:14

我做错了什么?

修改

通过一些实验,我发现gulp将首先运行,如果gulp -v。如果我打开命令提示符并转到我的项目目录并运行gulp,我会得到与Task Runner相同的错误。但是,如果像我说的那样,我首先执行gulp -v,然后运行gulp它就可以了。

知道我是否配置错误仍然是件好事,因为目前我仍无法使用Task Runner Explorer进行设置。

1 个答案:

答案 0 :(得分:1)

我找到了解决此问题的方法,请确保您已在gulp文件的基目录中运行 npm init ,然后在本地安装gulp npm install gulp --save-dev < / strong>即可。在Visual Studio Code中运行gulp时,这似乎可以解决它。