我有一个jhipster网关生成的应用程序,我没有改变任何东西,我只是想启动它,我做了以下操作:mvn clean install -DskipTests,但它停在npm webapp的步骤:build我现在得到以下错误:
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.12.1:npm (webapp build dev) on project moniesta: Failed to run task: 'npm run webapp:build' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
原因似乎是:
Error: Failed to load plugin '@typescript-eslint' declared in '../.eslintrc.json': Cannot find module '@typescript-eslint/eslint-plugin'
[INFO] Require stack:
[INFO] - /home/hasan/Desktop/Moniesta/Microservices/__placeholder__.js
[INFO] Referenced from: /home/hasan/Desktop/Moniesta/Microservices/.eslintrc.json
但是我控制了eslint和package json,一切似乎都很好。有没有人可以看看它,就像我说的,我没有改变它的默认配置/代码:
eslintrc.json:
{
"parser": "@typescript-eslint/parser",
"plugins": ["@angular-eslint/eslint-plugin", "@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:@angular-eslint/recommended",
"prettier",
"eslint-config-prettier"
],
"env": {
"browser": true,
"es6": true,
"commonjs": true
},
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module",
"project": "./tsconfig.json"
},
"rules": {
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "jhi",
"style": "kebab-case"
}
],
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "jhi",
"style": "camelCase"
}
],
"@angular-eslint/relative-url-prefix": "error",
"@typescript-eslint/ban-types": [
"error",
{
"extendDefaults": true,
"types": {
"{}": false
}
}
],
"@typescript-eslint/explicit-function-return-type": ["error", { "allowExpressions": true }],
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/member-ordering": [
"error",
{
"default": [
"public-static-field",
"protected-static-field",
"private-static-field",
"public-instance-field",
"protected-instance-field",
"private-instance-field",
"constructor",
"public-static-method",
"protected-static-method",
"private-static-method",
"public-instance-method",
"protected-instance-method",
"private-instance-method"
]
}
],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-parameter-properties": ["warn", { "allows": ["public", "private", "protected"] }],
"@typescript-eslint/no-shadow": ["error"],
"@typescript-eslint/no-unnecessary-condition": "error",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/prefer-nullish-coalescing": "error",
"@typescript-eslint/prefer-optional-chain": "error",
"@typescript-eslint/unbound-method": "off",
"arrow-body-style": "error",
"curly": "error",
"eqeqeq": ["error", "always", { "null": "ignore" }],
"guard-for-in": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-console": ["error", { "allow": ["warn", "error"] }],
"no-eval": "error",
"no-labels": "error",
"no-new": "error",
"no-new-wrappers": "error",
"object-shorthand": ["error", "always", { "avoidExplicitReturnArrows": true }],
"radix": "error",
"spaced-comment": ["warn", "always"]
}
}
package.json:
{
"name": "moniesta",
"version": "0.0.1-SNAPSHOT",
"private": true,
"description": "Description for moniesta",
"license": "UNLICENSED",
"scripts": {
"app:start": "./mvnw",
"backend:build-cache": "./mvnw dependency:go-offline",
"backend:debug": "./mvnw -Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000"",
"backend:doc:test": "./mvnw -ntp javadoc:javadoc --batch-mode",
"backend:info": "./mvnw -ntp enforcer:display-info --batch-mode",
"backend:nohttp:test": "./mvnw -ntp checkstyle:check --batch-mode",
"backend:start": "./mvnw -Dskip.installnodenpm -Dskip.npm",
"backend:unit:test": "./mvnw -ntp -Dskip.installnodenpm -Dskip.npm verify --batch-mode -Dlogging.level.ROOT=OFF -Dlogging.level.org.zalando=OFF -Dlogging.level.tech.jhipster=OFF -Dlogging.level.com.moniesta.gateway=OFF -Dlogging.level.org.springframework=OFF -Dlogging.level.org.springframework.web=OFF -Dlogging.level.org.springframework.security=OFF",
"build": "npm run webapp:prod --",
"build-watch": "concurrently 'npm run webapp:build:dev -- --watch' npm:backend:start",
"ci:backend:test": "npm run backend:info && npm run backend:doc:test && npm run backend:nohttp:test && npm run backend:unit:test -- -P$npm_package_config_default_environment",
"ci:e2e:package": "npm run java:$npm_package_config_packaging:$npm_package_config_default_environment -- -Pe2e -Denforcer.skip=true",
"ci:e2e:prepare": "npm run ci:e2e:prepare:docker",
"ci:e2e:prepare:docker": "npm run docker:db:up && npm run docker:others:up && docker ps -a",
"preci:e2e:server:start": "npm run docker:db:await --if-present && npm run docker:others:await --if-present",
"ci:e2e:server:start": "java -jar target/e2e.$npm_package_config_packaging --spring.profiles.active=e2e,$npm_package_config_default_environment -Dlogging.level.ROOT=OFF -Dlogging.level.org.zalando=OFF -Dlogging.level.tech.jhipster=OFF -Dlogging.level.com.moniesta.gateway=OFF -Dlogging.level.org.springframework=OFF -Dlogging.level.org.springframework.web=OFF -Dlogging.level.org.springframework.security=OFF --logging.level.org.springframework.web=ERROR",
"ci:e2e:teardown": "npm run ci:e2e:teardown:docker",
"ci:e2e:teardown:docker": "npm run docker:db:down --if-present && npm run docker:others:down && docker ps -a",
"ci:frontend:build": "npm run webapp:build:$npm_package_config_default_environment",
"ci:frontend:test": "npm run ci:frontend:build && npm test",
"clean-www": "rimraf target/classes/static/app/{src,target/}",
"cleanup": "rimraf target/classes/static/",
"docker:app:up": "docker-compose -f src/main/docker/app.yml up -d",
"docker:db:down": "docker-compose -f src/main/docker/mysql.yml down -v",
"docker:db:up": "docker-compose -f src/main/docker/mysql.yml up -d",
"docker:jhipster-registry:down": "docker-compose -f src/main/docker/jhipster-registry.yml down -v",
"docker:jhipster-registry:up": "docker-compose -f src/main/docker/jhipster-registry.yml up -d",
"docker:others:await": "echo "Waiting for jhipster-registry to start" && wait-on -t 180000 http-get://localhost:8761/management/health && echo "jhipster-registry started"",
"docker:others:down": "npm run docker:jhipster-registry:down",
"predocker:others:up": "",
"docker:others:up": "npm run docker:jhipster-registry:up",
"java:docker": "./mvnw -ntp verify -DskipTests -Pprod jib:dockerBuild",
"java:docker:arm64": "npm run java:docker -- -Djib-maven-plugin.architecture=arm64",
"java:docker:dev": "npm run java:docker -- -Pdev,webapp",
"java:docker:prod": "npm run java:docker -- -Pprod",
"java:jar": "./mvnw -ntp verify -DskipTests --batch-mode",
"java:jar:dev": "npm run java:jar -- -Pdev,webapp",
"java:jar:prod": "npm run java:jar -- -Pprod",
"java:war": "./mvnw -ntp verify -DskipTests --batch-mode -Pwar",
"java:war:dev": "npm run java:war -- -Pdev,webapp",
"java:war:prod": "npm run java:war -- -Pprod",
"jest": "jest --coverage --logHeapUsage --maxWorkers=2 --config jest.conf.js",
"lint": "eslint . --ext .js,.ts",
"lint:fix": "npm run lint -- --fix",
"prepare": "husky install",
"prettier:check": "prettier --check "{,src/**/,webpack/}*.{md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss,java}"",
"prettier:format": "prettier --write "{,src/**/,webpack/}*.{md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss,java}"",
"serve": "npm run start --",
"start": "ng serve --hmr",
"start-tls": "npm run webapp:dev-ssl",
"pretest": "npm run lint",
"test": "ng test --coverage --log-heap-usage -w=2",
"test:watch": "npm run test -- --watch",
"watch": "concurrently npm:start npm:backend:start",
"webapp:build": "npm run clean-www && npm run webapp:build:dev",
"webapp:build:dev": "ng build --configuration development",
"webapp:build:prod": "ng build --configuration production",
"webapp:dev": "ng serve",
"webapp:dev-ssl": "ng serve --ssl",
"webapp:dev-verbose": "ng serve --verbose",
"webapp:prod": "npm run clean-www && npm run webapp:build:prod",
"webapp:test": "npm run test --"
},
"config": {
"backend_port": 8080,
"default_environment": "prod",
"packaging": "jar"
},
"dependencies": {
"@angular/common": "13.3.1",
"@angular/compiler": "13.3.1",
"@angular/core": "13.3.1",
"@angular/forms": "13.3.1",
"@angular/localize": "13.3.1",
"@angular/platform-browser": "13.3.1",
"@angular/platform-browser-dynamic": "13.3.1",
"@angular/router": "13.3.1",
"@fortawesome/angular-fontawesome": "0.10.2",
"@fortawesome/fontawesome-svg-core": "6.1.1",
"@fortawesome/free-solid-svg-icons": "6.1.1",
"@ng-bootstrap/ng-bootstrap": "12.0.1",
"@ngx-translate/core": "14.0.0",
"@ngx-translate/http-loader": "7.0.0",
"@popperjs/core": "2.11.5",
"bootstrap": "5.1.3",
"dayjs": "1.11.0",
"ngx-infinite-scroll": "13.0.1",
"ngx-webstorage": "9.0.0",
"rxjs": "7.5.5",
"tslib": "2.3.1",
"zone.js": "0.11.4"
},
"devDependencies": {
"@angular-builders/custom-webpack": "13.1.0",
"@angular-builders/jest": "13.0.3",
"@angular-devkit/build-angular": "13.3.1",
"@angular-eslint/eslint-plugin": "13.2.0",
"@angular/cli": "13.3.1",
"@angular/compiler-cli": "13.3.1",
"@angular/service-worker": "13.3.1",
"@types/jest": "27.4.1",
"@types/node": "16.11.26",
"@typescript-eslint/eslint-plugin": "5.18.0",
"@typescript-eslint/parser": "5.18.0",
"browser-sync": "2.27.9",
"browser-sync-webpack-plugin": "2.3.0",
"concurrently": "7.1.0",
"copy-webpack-plugin": "10.2.4",
"eslint": "8.12.0",
"eslint-config-prettier": "8.5.0",
"eslint-webpack-plugin": "3.1.1",
"folder-hash": "4.0.2",
"generator-jhipster": "7.8.1",
"husky": "7.0.4",
"jest": "27.5.1",
"jest-date-mock": "1.0.8",
"jest-junit": "13.1.0",
"jest-preset-angular": "11.1.1",
"jest-sonar-reporter": "2.0.0",
"lint-staged": "12.3.7",
"merge-jsons-webpack-plugin": "2.0.1",
"prettier": "2.6.2",
"prettier-plugin-java": "1.6.1",
"prettier-plugin-packagejson": "2.2.17",
"rimraf": "3.0.2",
"swagger-ui-dist": "4.10.3",
"ts-jest": "27.1.4",
"typescript": "4.6.3",
"wait-on": "6.0.1",
"webpack-bundle-analyzer": "4.5.0",
"webpack-merge": "5.8.0",
"webpack-notifier": "1.15.0"
},
"engines": {
"node": ">=16.14.0"
},
"cacheDirectories": [
"node_modules"
],
"jestSonar": {
"reportPath": "target/test-results/jest",
"reportFile": "TESTS-results-sonar.xml"
},
"overrides": {
"webpack": "5.71.0"
}
}
如果你使用的是M1 Mac,并且在任务中使用需要Rosetta的node或webpack版本,安装它将解决这个问题。