发生未处理的异常:请求的模块 'sourcemap-codec' 未提供名为 'decode' 的导出
An unhandled exception occurred: The requested module 'sourcemap-codec' does not provide an export named 'decode'
升级到 angular13,我在管道上的构建步骤失败。我的初始版本是 11,在升级到 12 时构建工作正常,但在从 12 升级到 13 时,它开始在管道上给我这个错误。构建在本地 运行 正常,但在管道上失败。
我还添加了 package.json 文件代码和依赖项,还添加了显示错误的图像。
[![{
"name": "app",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"start:prod": "ng serve -c production",
"start:local": "ng serve -c local",
"start:test": "ng serve -c local,test",
"start:ci": "serve -s --no-clipboard --listen ${PORT:-4200} ",
"build": "ng build",
"updateVersion": "node ./updateVersion.js",
"test": "jest",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage --ci",
"lint": "eslint src --ext .js,.ts,.html",
"lint:fix": "npm run lint -- --fix",
"e2e": "ng e2e",
"e2e:prod": "ng e2e --headless --configuration production",
"e2e:parallel": "npx cy2 run --record --key gitlab-ci --parallel --ci-build-id 1",
"cypress:open": "cypress open",
"cypress:run": "cypress run"
},
"private": true,
"dependencies": {
"@angular/animations": "^13.2.5",
"@angular/cdk": "^13.2.4",
"@angular/common": "^13.2.5",
"@angular/compiler": "^13.2.5",
"@angular/core": "^13.2.5",
"@angular/flex-layout": "^11.0.0-beta.33",
"@angular/forms": "^13.2.5",
"@angular/localize": "^13.2.5",
"@angular/material": "^13.2.4",
"@angular/material-moment-adapter": "^13.2.4",
"@angular/platform-browser": "^13.2.5",
"@angular/platform-browser-dynamic": "^13.2.5",
"@angular/router": "^13.2.5",
"@mat-datetimepicker/core": "^6.0.2",
"@ngrx/effects": "^11.1.1",
"@ngrx/entity": "^11.1.1",
"@ngrx/router-store": "^11.1.1",
"@ngrx/store": "^11.1.1",
"@ngrx/store-devtools": "^11.1.1",
"@ngx-translate/core": "^13.0.0",
"@ngx-translate/http-loader": "^4.0.0",
"cypress-get-table": "^1.0.1",
"faker": "^4.1.0",
"font-awesome": "^4.7.0",
"moment": "^2.29.1",
"ngrx-forms": "^6.3.4",
"ngrx-store-localstorage": "^11.0.0",
"ngx-infinite-scroll": "^10.0.1",
"ngx-material-timepicker": "^5.5.3",
"ngx-skeleton-loader": "^4.0.0",
"normalize.css": "^8.0.1",
"path-browserify": "^1.0.1",
"rxjs": "^6.6.3",
"tsify": "^5.0.2",
"tslib": "^2.2.0",
"yargs-parser": "^18.1.3",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-builders/jest": "^9.0.1",
"@angular-devkit/architect": "^0.1302.5",
"@angular-devkit/build-angular": "^13.2.5",
"@angular-eslint/builder": "^13.1.0",
"@angular-eslint/eslint-plugin": "^13.1.0",
"@angular-eslint/eslint-plugin-template": "^13.1.0",
"@angular-eslint/schematics": "13.1.0",
"@angular-eslint/template-parser": "^13.1.0",
"@angular/cli": "^13.2.5",
"@angular/compiler-cli": "^13.2.5",
"@angular/language-service": "~13.2.5",
"@commitlint/cli": "^15.0.0",
"@commitlint/config-conventional": "^15.0.0",
"@cypress/browserify-preprocessor": "^3.0.1",
"@ngrx/schematics": "^10.1.2",
"@nrwl/cypress": "^12.4.0",
"@types/chai": "^4.2.15",
"@types/chai-as-promised": "^7.1.3",
"@types/cypress-cucumber-preprocessor": "^4.0.0",
"@types/faker": "^5.1.7",
"@types/jest": "^25.2.3",
"@types/node": "^12.19.14",
"@typescript-eslint/eslint-plugin": "5.3.0",
"@typescript-eslint/parser": "5.3.0",
"axe-core": "^4.2.3",
"chai": "^4.3.0",
"chai-as-promised": "^7.1.1",
"commitlint": "^15.0.0",
"cucumber": "^6.0.5",
"cy2": "^1.2.1",
"cypress": "7.6.0",
"cypress-axe-core": "^1.1.3",
"cypress-cucumber-preprocessor": "^4.2.0",
"cypress-fail-on-console-error": "^2.1.0",
"cypress-multi-reporters": "^1.4.0",
"cypress-pipe": "^2.0.0",
"cypress-terminal-report": "^3.2.2",
"eslint": "^8.10.0",
"eslint-config-prettier": "^7.2.0",
"eslint-plugin-import": "2.25.2",
"eslint-plugin-jsdoc": "30.7.6",
"eslint-plugin-prefer-arrow": "1.2.2",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-sonarjs": "^0.6.0",
"glob": "^7.1.6",
"husky": "^4.3.8",
"jasmine-marbles": "^0.8.1",
"jest": "^26.6.3",
"jest-fail-on-console": "^2.0.4",
"jest-junit": "^12.0.0",
"jest-preset-angular": "8.4.0",
"jest-sonar-reporter": "^2.0.0",
"lint-staged": "^10.5.4",
"mocha": "^8.3.2",
"mocha-junit-reporter": "^2.0.0",
"mochawesome": "^6.2.2",
"multiple-cucumber-html-reporter": "^1.18.0",
"ng-cache-testing-module": "^1.1.3",
"prettier": "2.2.1",
"replace-in-file": "^6.3.2",
"serve": "^11.3.2",
"source-map": "^0.6.1",
"ts-jest": "^26.5.4",
"ts-node": "~8.3.0",
"typescript": "^4.4.4"
},
"jestSonar": {
"reportPath": "output/coverage/jest",
"reportFile": "test-report.xml"
},
"jest": {
"preset": "jest-preset-angular",
"testEnvironment": "jsdom",
"resetMocks": false,
"setupFilesAfterEnv": \[
"<rootDir>/setupJest.ts",
"jest-localstorage-mock"
\],
"testPathIgnorePatterns": \[
"<rootDir>/node_modules/",
"<rootDir>/dist/",
"<rootDir>/src/test.ts"
\],
"moduleNameMapper": {
"@/(.*)": "<rootDir>/src/",
"@core/(.*)": "<rootDir>/src/app/core/",
"@material/(.*)": "<rootDir>/src/app/material/",
"@features/(.*)": "<rootDir>/src/app/features/",
"@testing/(.*)": "<rootDir>/src/testing/",
"@shared/(.*)": "<rootDir>/src/app/shared/",
"@environments/(.*)": "<rootDir>/src/environments/"
},
"globals": {
"ts-jest": {
"tsConfig": "<rootDir>/tsconfig.spec.json",
"stringifyContentPathRegex": "\.html$",
"astTransformers": \[
"<rootDir>/node_modules/jest-preset-angular/InlineHtmlStripStylesTransformer"
\]
}
}
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,ts,html}": "eslint --cache --fix"
},
"cypress-cucumber-preprocessor": {
"nonGlobalStepDefinitions": true,
"stepDefinitions": "./e2e/features/",
"cucumberJson": {
"generate": true,
"outputFolder": "output/cucumber-json",
"filePrefix": "",
"fileSuffix": ".cucumber"
}
},
"jest-junit": {
"outputDirectory": "output",
"outputName": "junit.xml"
}
}][1]][1]
sourcemap-codec 最新版本是 1.4.8,它作为依赖项自动添加到 package.lock 文件中,但它仍然只在管道上失败,在我的本地工作正常。
我遇到了同样的问题,这就是为什么我偶然发现了这个 post。
我的问题是我使用了错误的节点版本。
升级到 Angular 13 后,我遇到了类似的问题,但我使用的是节点版本 v14.2.0.
我将节点版本更改为 v14.15.0 并且有效。
nvm use v14.15.0
PS: NVM管理多个nodejs版本。
升级到 angular13,我在管道上的构建步骤失败。我的初始版本是 11,在升级到 12 时构建工作正常,但在从 12 升级到 13 时,它开始在管道上给我这个错误。构建在本地 运行 正常,但在管道上失败。
我还添加了 package.json 文件代码和依赖项,还添加了显示错误的图像。
[![{
"name": "app",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"start:prod": "ng serve -c production",
"start:local": "ng serve -c local",
"start:test": "ng serve -c local,test",
"start:ci": "serve -s --no-clipboard --listen ${PORT:-4200} ",
"build": "ng build",
"updateVersion": "node ./updateVersion.js",
"test": "jest",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage --ci",
"lint": "eslint src --ext .js,.ts,.html",
"lint:fix": "npm run lint -- --fix",
"e2e": "ng e2e",
"e2e:prod": "ng e2e --headless --configuration production",
"e2e:parallel": "npx cy2 run --record --key gitlab-ci --parallel --ci-build-id 1",
"cypress:open": "cypress open",
"cypress:run": "cypress run"
},
"private": true,
"dependencies": {
"@angular/animations": "^13.2.5",
"@angular/cdk": "^13.2.4",
"@angular/common": "^13.2.5",
"@angular/compiler": "^13.2.5",
"@angular/core": "^13.2.5",
"@angular/flex-layout": "^11.0.0-beta.33",
"@angular/forms": "^13.2.5",
"@angular/localize": "^13.2.5",
"@angular/material": "^13.2.4",
"@angular/material-moment-adapter": "^13.2.4",
"@angular/platform-browser": "^13.2.5",
"@angular/platform-browser-dynamic": "^13.2.5",
"@angular/router": "^13.2.5",
"@mat-datetimepicker/core": "^6.0.2",
"@ngrx/effects": "^11.1.1",
"@ngrx/entity": "^11.1.1",
"@ngrx/router-store": "^11.1.1",
"@ngrx/store": "^11.1.1",
"@ngrx/store-devtools": "^11.1.1",
"@ngx-translate/core": "^13.0.0",
"@ngx-translate/http-loader": "^4.0.0",
"cypress-get-table": "^1.0.1",
"faker": "^4.1.0",
"font-awesome": "^4.7.0",
"moment": "^2.29.1",
"ngrx-forms": "^6.3.4",
"ngrx-store-localstorage": "^11.0.0",
"ngx-infinite-scroll": "^10.0.1",
"ngx-material-timepicker": "^5.5.3",
"ngx-skeleton-loader": "^4.0.0",
"normalize.css": "^8.0.1",
"path-browserify": "^1.0.1",
"rxjs": "^6.6.3",
"tsify": "^5.0.2",
"tslib": "^2.2.0",
"yargs-parser": "^18.1.3",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-builders/jest": "^9.0.1",
"@angular-devkit/architect": "^0.1302.5",
"@angular-devkit/build-angular": "^13.2.5",
"@angular-eslint/builder": "^13.1.0",
"@angular-eslint/eslint-plugin": "^13.1.0",
"@angular-eslint/eslint-plugin-template": "^13.1.0",
"@angular-eslint/schematics": "13.1.0",
"@angular-eslint/template-parser": "^13.1.0",
"@angular/cli": "^13.2.5",
"@angular/compiler-cli": "^13.2.5",
"@angular/language-service": "~13.2.5",
"@commitlint/cli": "^15.0.0",
"@commitlint/config-conventional": "^15.0.0",
"@cypress/browserify-preprocessor": "^3.0.1",
"@ngrx/schematics": "^10.1.2",
"@nrwl/cypress": "^12.4.0",
"@types/chai": "^4.2.15",
"@types/chai-as-promised": "^7.1.3",
"@types/cypress-cucumber-preprocessor": "^4.0.0",
"@types/faker": "^5.1.7",
"@types/jest": "^25.2.3",
"@types/node": "^12.19.14",
"@typescript-eslint/eslint-plugin": "5.3.0",
"@typescript-eslint/parser": "5.3.0",
"axe-core": "^4.2.3",
"chai": "^4.3.0",
"chai-as-promised": "^7.1.1",
"commitlint": "^15.0.0",
"cucumber": "^6.0.5",
"cy2": "^1.2.1",
"cypress": "7.6.0",
"cypress-axe-core": "^1.1.3",
"cypress-cucumber-preprocessor": "^4.2.0",
"cypress-fail-on-console-error": "^2.1.0",
"cypress-multi-reporters": "^1.4.0",
"cypress-pipe": "^2.0.0",
"cypress-terminal-report": "^3.2.2",
"eslint": "^8.10.0",
"eslint-config-prettier": "^7.2.0",
"eslint-plugin-import": "2.25.2",
"eslint-plugin-jsdoc": "30.7.6",
"eslint-plugin-prefer-arrow": "1.2.2",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-sonarjs": "^0.6.0",
"glob": "^7.1.6",
"husky": "^4.3.8",
"jasmine-marbles": "^0.8.1",
"jest": "^26.6.3",
"jest-fail-on-console": "^2.0.4",
"jest-junit": "^12.0.0",
"jest-preset-angular": "8.4.0",
"jest-sonar-reporter": "^2.0.0",
"lint-staged": "^10.5.4",
"mocha": "^8.3.2",
"mocha-junit-reporter": "^2.0.0",
"mochawesome": "^6.2.2",
"multiple-cucumber-html-reporter": "^1.18.0",
"ng-cache-testing-module": "^1.1.3",
"prettier": "2.2.1",
"replace-in-file": "^6.3.2",
"serve": "^11.3.2",
"source-map": "^0.6.1",
"ts-jest": "^26.5.4",
"ts-node": "~8.3.0",
"typescript": "^4.4.4"
},
"jestSonar": {
"reportPath": "output/coverage/jest",
"reportFile": "test-report.xml"
},
"jest": {
"preset": "jest-preset-angular",
"testEnvironment": "jsdom",
"resetMocks": false,
"setupFilesAfterEnv": \[
"<rootDir>/setupJest.ts",
"jest-localstorage-mock"
\],
"testPathIgnorePatterns": \[
"<rootDir>/node_modules/",
"<rootDir>/dist/",
"<rootDir>/src/test.ts"
\],
"moduleNameMapper": {
"@/(.*)": "<rootDir>/src/",
"@core/(.*)": "<rootDir>/src/app/core/",
"@material/(.*)": "<rootDir>/src/app/material/",
"@features/(.*)": "<rootDir>/src/app/features/",
"@testing/(.*)": "<rootDir>/src/testing/",
"@shared/(.*)": "<rootDir>/src/app/shared/",
"@environments/(.*)": "<rootDir>/src/environments/"
},
"globals": {
"ts-jest": {
"tsConfig": "<rootDir>/tsconfig.spec.json",
"stringifyContentPathRegex": "\.html$",
"astTransformers": \[
"<rootDir>/node_modules/jest-preset-angular/InlineHtmlStripStylesTransformer"
\]
}
}
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,ts,html}": "eslint --cache --fix"
},
"cypress-cucumber-preprocessor": {
"nonGlobalStepDefinitions": true,
"stepDefinitions": "./e2e/features/",
"cucumberJson": {
"generate": true,
"outputFolder": "output/cucumber-json",
"filePrefix": "",
"fileSuffix": ".cucumber"
}
},
"jest-junit": {
"outputDirectory": "output",
"outputName": "junit.xml"
}
}][1]][1]
sourcemap-codec 最新版本是 1.4.8,它作为依赖项自动添加到 package.lock 文件中,但它仍然只在管道上失败,在我的本地工作正常。
我遇到了同样的问题,这就是为什么我偶然发现了这个 post。
我的问题是我使用了错误的节点版本。 升级到 Angular 13 后,我遇到了类似的问题,但我使用的是节点版本 v14.2.0.
我将节点版本更改为 v14.15.0 并且有效。
nvm use v14.15.0
PS: NVM管理多个nodejs版本。