Gulp 4 - Azure 网站
Gulp 4 - Azure Website
我有一个 Node.js 网站,我正试图将其部署到 Windows Azure。这个网站要求我 运行 gulp 来缩小 html 等等。为了做到这一点,我在我的 deploy.sh
文件中添加了以下内容:
if [ -e "$DEPLOYMENT_TARGET/gulpfile.js" ]; then
echo "Running gulp tasks"
cd "$DEPLOYMENT_TARGET"
eval './node_modules/.bin/gulp'
exitWithMessageOnError "gulp failed"
cd -> /dev/null
fi
我的挑战是,我的 gulp 文件是使用 Gulp 4 在本地创建的。据我所知,该版本不受支持。这是基于在我的 npm-debug.log 文件中,我看到以下内容:
516 error notarget No compatible version found: gulp@'github:gulpjs/gulp#4.0'
516 error notarget Valid install targets:
516 error notarget ["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.7","0.0.8","0.0.9","0.1.0","0.2.0","1.0.0","1.1.0","1.2.0","1.2.1","2.0.0","2.0.1","2.1.0","2.2.0","2.3.0","2.4.0","2.4.1","2.6.0","2.6.1","2.7.0","3.0.0","3.1.1","3.1.2","3.1.3","3.1.4","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","3.3.0","3.3.1","3.3.2","3.3.4","3.4.0","3.5.0","3.5.1","3.5.2","3.5.5","3.5.6","3.6.0","3.6.1","3.6.2","3.7.0","3.8.0","3.8.1","3.8.2","3.8.3","3.8.4","3.8.5","3.8.6","3.8.7","3.8.8","3.8.9","3.8.10","3.8.11","3.9.0","3.9.1"]
516 error notarget
但是,在我的 package.json 文件中,我将节点引擎设置为
"engines": {
"node": "~5.3.0"
},
这是受支持的,我认为这是 Gulp 的唯一要求 4. 我缺少什么?
感谢您的帮助!
更新
完成package.json:
{
"name": "Website",
"version": "1.0.0",
"private": true,
"scripts": {
"start": "node ./src/server.js"
},
"description": "My Website",
"engines": {
"node": "~5.3.0",
"npm": "3.3.12"
},
"devDependencies": {
"bower": "^1.5.2",
"browser-sync": "^2.11.1",
"del": "^2.2.0",
"gulp": "github:gulpjs/gulp#4.0",
"gulp-concat": "2.6.0",
"gulp-cssnano": "^2.1.0",
"gulp-exec": "^2.1.1",
"gulp-htmlmin": "^1.3.0"
},
"dependencies": {
"body-parser": "~1.8.1",
"cookie-parser": "~1.3.3",
"debug": "~2.0.0",
"express": "~4.9.0",
"express-livereload": "0.0.24",
"morgan": "~1.3.0",
"serve-favicon": "~2.1.3",
"xml2js": "^0.4.12"
}
}
根据您的日志:
error notarget No compatible version found:
gulp@'github:gulpjs/gulp#4.0'
您似乎使用了低版本的 npm 安装您的依赖项。
并且您没有在 package.json
文件中指定 npm 版本,这将使 Azure Web 应用程序使用默认的 npm 版本 2.11.2。
所以在 "engines" 闭包中添加 npm 版本,这是我的测试 'package.json':
{
"engines": {
"node": "~5.3.0",
"npm": "3.3.12"
},
"dependencies":{
"gulp": "github:gulpjs/gulp#4.0"
}
}
我有一个 Node.js 网站,我正试图将其部署到 Windows Azure。这个网站要求我 运行 gulp 来缩小 html 等等。为了做到这一点,我在我的 deploy.sh
文件中添加了以下内容:
if [ -e "$DEPLOYMENT_TARGET/gulpfile.js" ]; then
echo "Running gulp tasks"
cd "$DEPLOYMENT_TARGET"
eval './node_modules/.bin/gulp'
exitWithMessageOnError "gulp failed"
cd -> /dev/null
fi
我的挑战是,我的 gulp 文件是使用 Gulp 4 在本地创建的。据我所知,该版本不受支持。这是基于在我的 npm-debug.log 文件中,我看到以下内容:
516 error notarget No compatible version found: gulp@'github:gulpjs/gulp#4.0'
516 error notarget Valid install targets:
516 error notarget ["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.7","0.0.8","0.0.9","0.1.0","0.2.0","1.0.0","1.1.0","1.2.0","1.2.1","2.0.0","2.0.1","2.1.0","2.2.0","2.3.0","2.4.0","2.4.1","2.6.0","2.6.1","2.7.0","3.0.0","3.1.1","3.1.2","3.1.3","3.1.4","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","3.3.0","3.3.1","3.3.2","3.3.4","3.4.0","3.5.0","3.5.1","3.5.2","3.5.5","3.5.6","3.6.0","3.6.1","3.6.2","3.7.0","3.8.0","3.8.1","3.8.2","3.8.3","3.8.4","3.8.5","3.8.6","3.8.7","3.8.8","3.8.9","3.8.10","3.8.11","3.9.0","3.9.1"]
516 error notarget
但是,在我的 package.json 文件中,我将节点引擎设置为
"engines": {
"node": "~5.3.0"
},
这是受支持的,我认为这是 Gulp 的唯一要求 4. 我缺少什么?
感谢您的帮助!
更新
完成package.json:
{
"name": "Website",
"version": "1.0.0",
"private": true,
"scripts": {
"start": "node ./src/server.js"
},
"description": "My Website",
"engines": {
"node": "~5.3.0",
"npm": "3.3.12"
},
"devDependencies": {
"bower": "^1.5.2",
"browser-sync": "^2.11.1",
"del": "^2.2.0",
"gulp": "github:gulpjs/gulp#4.0",
"gulp-concat": "2.6.0",
"gulp-cssnano": "^2.1.0",
"gulp-exec": "^2.1.1",
"gulp-htmlmin": "^1.3.0"
},
"dependencies": {
"body-parser": "~1.8.1",
"cookie-parser": "~1.3.3",
"debug": "~2.0.0",
"express": "~4.9.0",
"express-livereload": "0.0.24",
"morgan": "~1.3.0",
"serve-favicon": "~2.1.3",
"xml2js": "^0.4.12"
}
}
根据您的日志:
error notarget No compatible version found: gulp@'github:gulpjs/gulp#4.0'
您似乎使用了低版本的 npm 安装您的依赖项。
并且您没有在 package.json
文件中指定 npm 版本,这将使 Azure Web 应用程序使用默认的 npm 版本 2.11.2。
所以在 "engines" 闭包中添加 npm 版本,这是我的测试 'package.json':
{
"engines": {
"node": "~5.3.0",
"npm": "3.3.12"
},
"dependencies":{
"gulp": "github:gulpjs/gulp#4.0"
}
}