У меня Azure конвейер сборки DevOps, настроенный для сборки NPM приложения, которое включает в себя следующие задачи:
- Установка Node.js (Node.js установщик инструмента) - Версия Spe c 10.x
- npm ci (npm задача)
И почти всегда происходит сбой в задаче npm ci
с ошибкой:
SyntaxError: Unexpected end of JSON input while parsing near '
, а затем некоторая случайная строка, каждый раз отличающаяся.
![enter image description here](https://i.stack.imgur.com/XNhZD.png)
Если я перезапущу задание вручную, оно будет работать. Затем при следующей сборке снова происходит сбой (пока я снова не перезапущу его вручную).
Я также использую Azure Канал артефактов с настроенными исходными источниками на https://registry.npmjs.org/
, а задача npm ci
настроена на использовать пакеты из этого реестра.
![enter image description here](https://i.stack.imgur.com/Sk84c.png)
Я пытался:
- удалить канал Artifacts и создать новый
- удалить
Install Node.js
задачу - изменить версию узла
- изменить
npm ci
на npm install
и ничего не работает. Как еще я могу это исправить?
РЕДАКТИРОВАТЬ - 03 апреля 2020
Вот мой пакет. json - Я удалил некоторые личные данные. Существует два частных пакета @project-name/jodit-vue
и @project-name/vuex-orm-plugin-axios
, размещенных на Azure Артефактах - это вилки jodit-vue
и vuex-orm-plugin-axios
с некоторыми настройками.
Кроме того, в последнее время меньше сборок не удалось. Приблизительно одна из восьми сборок сейчас дает сбой.
{
"name": "name",
"version": "1.0.0",
"private": true,
"scripts": {
},
"dependencies": {
"@project-name/jodit-vue": "^1.2.4-fix",
"@project-name/vuex-orm-plugin-axios": "0.5.0",
"@stomp/stompjs": "^5.4.2",
"@vuex-orm/core": "^0.33.0",
"axios": "^0.19.0",
"chart.js": "^2.9.3",
"chartjs-plugin-colorschemes": "^0.4.0",
"core-js": "^3.4.8",
"crypto-js": "^3.1.9-1",
"drag-drop-touch": "^1.3.0",
"emoji-mart-vue-fast": "^6.1.2",
"file-saver": "^2.0.2",
"jquery": "^3.4.0",
"lodash": "^4.17.14",
"moment": "^2.24.0",
"oidc-client": "^1.9.1",
"shepherd.js": "^5.0.1",
"vue": "^2.6.10",
"vue-chartjs": "^3.5.0",
"vue-class-component": "^7.1.0",
"vue-cookie-law": "^1.8.0",
"vue-cropperjs": "^4.0.0",
"vue-i18n": "^8.15.1",
"vue-matomo": "^3.13.0-0",
"vue-property-decorator": "^8.3.0",
"vue-recaptcha": "^1.3.0",
"vue-router": "^3.1.3",
"vue-stripe-elements-plus": "^0.2.8",
"vuejs-logger": "^1.5.3",
"vuetify": "^1.5.21",
"vuex": "^3.1.2",
"vuex-oidc": "^3.3.1",
"xlsx": "^0.15.2"
},
"devDependencies": {
"@babel/core": "^7.7.5",
"@babel/plugin-transform-runtime": "^7.7.6",
"@babel/preset-env": "^7.7.6",
"@babel/preset-typescript": "^7.7.4",
"@kazupon/vue-i18n-loader": "^0.4.1",
"@storybook/addon-actions": "^5.3.13",
"@storybook/addon-docs": "^5.3.13",
"@storybook/addon-knobs": "^5.3.13",
"@storybook/addon-links": "^5.3.13",
"@storybook/addon-viewport": "^5.3.13",
"@storybook/vue": "^5.3.13",
"@types/chai": "^4.1.6",
"@types/crypto-js": "^3.1.43",
"@types/file-saver": "^1.3.1",
"@types/jquery": "^2.0.47",
"@types/lodash": "^4.14.119",
"@types/mocha": "^2.2.46",
"@types/sinon": "^7.0.13",
"@types/stripe": "^5.0.24",
"@types/stripe-v3": "^3.0.8",
"@types/webpack": "^4.4.14",
"@types/webpack-env": "^1.13.6",
"@vue/cli": "^4.1.1",
"@vue/cli-plugin-babel": "^4.1.1",
"@vue/cli-plugin-eslint": "^4.1.2",
"@vue/cli-plugin-pwa": "^4.1.1",
"@vue/cli-plugin-typescript": "^4.1.1",
"@vue/cli-plugin-unit-jest": "^4.1.1",
"@vue/cli-plugin-unit-mocha": "^4.1.1",
"@vue/cli-service": "^4.1.1",
"@vue/eslint-config-typescript": "^4.0.0",
"@vue/test-utils": "1.0.0-beta.29",
"babel-loader": "^8.0.6",
"babel-plugin-transform-imports": "^2.0.0",
"chai": "^4.2.0",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"moment-locales-webpack-plugin": "^1.1.2",
"node-sass": "^4.13.0",
"react": "^16.12.0",
"react-is": "^16.12.0",
"sass-loader": "^8.0.0",
"sinon": "^7.4.1",
"stylus": "^0.54.7",
"stylus-loader": "^3.0.2",
"typescript": "^3.7.4",
"vue-cli-plugin-i18n": "^0.6.0",
"vue-cli-plugin-storybook": "^1.2.0",
"vue-cli-plugin-vuetify": "^2.0.2",
"vue-jest": "^3.0.4",
"vue-loader": "^15.7.1",
"vue-template-compiler": "^2.6.10"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
решено (частично) - 15 апреля 2020 года
Я изменил npm ci
на npm install
несколько дней go. Больше никаких сбоев, каждая сборка успешно завершена с момента этого изменения. install
медленнее, чем ci
, но мы можем провести еще одну минуту в каждой сборке, но будьте уверены, что она не выйдет из строя.