我尝试了新的ASP.NET vNext,我真的很喜欢gulp的工作方式。我现在尝试在ASP.NET 4.5.2 MVC项目中使用gulp编译LESS。
我跟着this寻求帮助 这是我到目前为止所做的:
使用以下代码添加了package.json文件。
{
"name": "package",
"version": "1.0.0",
"private": true,
"devDependencies": {
"gulp": "3.9.0",
"gulp-bower": "0.0.10",
"gulp-config": "0.3.0",
"gulp-less": "3.0.3",
"gulp-plumber": "1.0.1"
}
}
在gulpfile.js中创建了一个Gulp任务
var gulp = require('gulp');
var less = require('gulp-less');
var path = require('path');
var plumber = require('gulp-plumber');
gulp.task('less', function () {
return gulp.src('./Content/**/*.less')
.pipe(plumber())
.pipe(less({
paths: [path.join(__dirname, 'less', 'includes')]
}))
.pipe(gulp.dest('./content/'));
});
然后我得到以下错误(在输出窗口中):
无法运行" C:\ Users \ me \ documents \ visual studio 2015 \ Projects \ projectname \ Gulpfile.js" ... cmd.exe / c gulp --tasks-simple '咽'不被视为内部或外部命令, 可操作程序或批处理文件。
我在猜npm din下载gulp。知道如何让这个工作吗?
答案 0 :(得分:9)
您不需要全局安装Gulp以在Visual Studio 2015中使用它。当Gulp通过npm安装到项目中时,它会将gulp.cmd添加到项目中的文件夹(./node_modules/.bin by默认)。默认情况下,Visual Studio在其查找外部工具(如Grunt,Gulp,Bower和npm)的路径中包含该路径。这可以在Tools->Options->Projects And Solutions->External Web Tools
中配置。
我的猜测是,在您第一次创建package.json文件时,npm没有成功安装软件包。每当您保存package.json文件时,Visual Studio将为您的项目运行npm install
,因此您甚至不需要打开控制台窗口。但是,如果您将现有的package.json文件添加到项目中,则不会自动为您安装。在这种情况下,您需要自己运行npm install
,或者打开并保存文件以让VS为您执行此操作。
答案 1 :(得分:7)
在程序包管理器控制台中键入npm install
会将node_modules文件夹添加到项目中。 package.json文件中指定的所有依赖项都将添加到该文件夹中。
在这种情况下,现在安装了gulp,错误就应该消失了。
答案 2 :(得分:2)
简短的回答是,要解决此错误,请使用以下命令全局安装gulp: npm install gulp -g
在VS2015中,必须在全球范围内安装RC gulp。否则VS不会认出它。您可以在此处找到详细说明:http://www.dotnetcurry.com/visualstudio/1096/using-grunt-gulp-bower-visual-studio-2013-2015
应该在VS2015 RTM中修复,但我还没有检查过。
不需要为单独的包运行npm install。如果启用隐藏文件夹,则应该看到VS在保存package.json文件后默认下载所有nodejs模块。下载日志可以在输出窗口中找到" Bower / NPM"在VS2015 RTM中。如果启用隐藏文件夹或查看Web项目目录,您应该看到一个node_modules文件夹,其中包含package.json文件中指定的所有包。
答案 3 :(得分:2)
在我的情况下,我需要移动
$(PATH)
前
.\node_modules\bin
答案 4 :(得分:0)
我发现如果您在UNC路径上创建visual studio解决方案文件夹,则会发生此错误。
在虚拟机上使用Windows时,UNC路径通常会映射您的Documents文件夹(例如Parallels for Mac)。
要解决此问题,我将visual studio解决方案文件夹移至虚拟机磁盘驱动器,然后重新打开该项目。