gpt4 book ai didi

node.js - 无法找到本地 grunt 文件

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:58 25 4
gpt4 key购买 nike

我有一个使用azure devops构建的nodejs应用程序。当我运行该项目时,出现以下错误。

##[debug]  --environment=test
[command]C:\Users\ci-cd-admin\AppData\Roaming\npm\grunt.cmd test_build --gruntfile C:\Users\ci-cd-admin\agent\_work\6\s\gruntfile.js --environment=test
grunt-cli: The grunt command line interface (v1.3.2)

Fatal error: Unable to find local grunt.

If you're seeing this message, grunt hasn't been installed locally to
your project. For more information about installing and configuring grunt,
please see the Getting Started guide:

https://gruntjs.com/getting-started
##[debug]rc:99
##[debug]success:false

如您所见,grunt-cli 已安装,我将在下面附加我的 package.json 文件。

{
"name": "vvvvvv",
"version": "vv.vv.2",
"description": "vvvv vvvvv vvvv",
"homepage": "https://vvvv.vvvv.co",
"repository": {
"type": "git",
"url": "https://vvvv.vvvvv.com/_git/RMS"
},
"license": "SEE LICENSE IN LICENCE.md",
"scripts": {
"client": "cd client && yarn start",
"server": "nodemon ./server/server.js",
"dev": "concurrently --kill-others-on-fail \"yarn docs:build\" \"yarn server\" \"yarn client\"",
"debug": "concurrently --kill-others-on-fail \"nodemon --inspect=127.0.0.1:9229 server/server.js\" \"yarn client\"",
"start": "sequelize db:migrate && sequelize db:seed:all && pm2 start server/server.js",
"stop": "pm2 stop server/server.js",
"docs:build": "documentation build server/** -f html -o client/public/server-doc && documentation build client/src/** -f html -o client/public/client-doc",
"test": "mocha test --reporter mocha-junit-reporter --reporter-options mochaFile=./test-results.xml --exit",
"report": "junit-viewer --results=test-results.xml --save=client/public/test-result.html",
"migrate-dev": "sequelize db:migrate && sequelize db:seed:all --seeders-path server/seeders/common && sequelize db:seed:all --seeders-path server/seeders/test",
"migrate-prod": "sequelize db:migrate && sequelize db:seed:all --seeders-path server/seeders/common && sequelize db:seed:all --seeders-path server/seeders/production",
"sonar": "node sonar-project.js"
},
"dependencies": {
"assert-plus": "*",
"body-parser": "1.18.3",
"bunyan": "1.8.12",
"client-credentials": "1.1.0",
"concurrently": "4.1.0",
"connect-mongo": "1.3.2",
"cookie-parser": "1.4.3",
"cors": "2.8.5",
"ejs": ">= 0.0.0",
"ejs-locals": ">= 0.0.0",
"express": "4.16.4",
"express-fileupload": "1.1.5",
"express-handlebars": "3.0.2",
"express-session": "1.14.1",
"firebase-admin": "8.2.0",
"graph-service": "2.1.3",
"handlebars": "4.1.2",
"helmet-csp": "^2.9.3",
"json-rules-engine": "2.3.3",
"jsonwebtoken": "8.5.1",
"lodash": "4.17.11",
"method-override": "2.3.6",
"moment": "2.24.0",
"mongoose": "4.6.2",
"morgan": "1.9.1",
"nodejs-nodemailer-outlook": "1.1.0",
"nodemailer": "6.1.0",
"passport": "0.4.0",
"passport-azure-ad": "4.1.0",
"passport-jwt": "4.0.0",
"pg": "7.8.1",
"pg-hstore": "2.3.2",
"sequelize": "4.43.0",
"swagger-jsdoc": "1.10.3",
"x-xss-protection": "^1.3.0"
},
"devDependencies": {
"@babel/core": "7.4.4",
"@babel/node": "7.2.2",
"@babel/preset-env": "7.4.4",
"babel-cli": "6.26.0",
"babel-core": "6.26.3",
"babel-eslint": "9.0.0",
"babel-polyfill": "6.26.0",
"babel-preset-es2015": "6.24.1",
"babel-preset-stage-2": "6.24.1",
"babel-register": "6.26.0",
"chai": "4.2.0",
"eslint": "5.6.0",
"eslint-config-airbnb": "17.1.0",
"eslint-config-prettier": "4.1.0",
"eslint-config-react-app": "3.0.7",
"eslint-plugin-flowtype": "2.50.3",
"eslint-plugin-import": "2.16.0",
"eslint-plugin-jsx-a11y": "6.2.1",
"eslint-plugin-prettier": "3.0.1",
"eslint-plugin-react": "7.12.4",
"grunt": "1.0.3",
"grunt-clean": "0.4.0",
"grunt-contrib-copy": "1.0.0",
"grunt-contrib-jshint": "2.0.0",
"grunt-env": "0.4.4",
"grunt-shell": "3.0.1",
"grunt-zip": "0.18.1",
"load-grunt-tasks": "4.0.0",
"mocha": "6.1.4",
"mocha-junit-reporter": "1.23.1",
"prettier": "1.16.4",
"sequelize-cli": "5.4.0",
"sinon": "7.4.1",
"sonarqube-scanner": "2.5.0",
"supertest": "4.0.2"
}
}

我的 gruntfile.js 如下。

/* eslint-disable global-require */
/* eslint-disable func-names */
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
env: {
options: {},
dev: {
REACT_APP_ENV: grunt.option('environment') || 'production'
}
},
shell: {
build_server: {
command: 'npm install'
},
build_client: {
command: 'cd client && npm install && npm run build'
}
},
clean: {
folder: 'dist'
},
copy: {
build: {
files: [
{ src: 'server/**', dest: 'dist/' },
{ src: 'package.json', dest: 'dist/' },
{ src: '.sequelizerc', dest: 'dist/' },
{ src: 'client/build/**', dest: 'dist/' },
{ src: 'test/**', dest: 'dist/' },
]
}
}
});
grunt.loadNpmTasks('grunt-clean');
grunt.loadNpmTasks('grunt-env');
grunt.registerTask('prod_build', [
'env',
'shell:build_server',
'shell:build_client',
'clean',
'copy:build'
]);
grunt.registerTask('test_build', [
'env',
'shell:build_server',
'shell:build_client',
'clean',
'copy:build'
]);
grunt.registerTask('uat_build', [
'env',
'shell:build_server',
'shell:build_client',
'clean',
'copy:build'
]);
grunt.registerTask('regression_build', [
'env',
'shell:build_server',
'shell:build_client',
'clean',
'copy:build'
]);
grunt.registerTask('default', ['shell:build_server', 'shell:build_client']);
};

有什么想法吗?

最佳答案

看起来 Grunt 尚未在本地安装,或者您可能位于项目文件夹之外。您可以从项目文件夹中尝试以下命令将其安装到您的依赖项中,

'npm install Bower --save-dev'

关于node.js - 无法找到本地 grunt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59070856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com