ошибка npm! не удается запустить code ELIFECYCLE в azure devops

#node.js #reactjs #typescript #npm #azure-devops

#node.js #reactjs #typescript #npm #azure-devops

Вопрос:

У меня есть конвейер сборки azure devops с 2 задачами npm, одна установка npm, одна сборка сценария запуска npm

Однако я получаю эти ошибки, которые не дают достаточной информации о том, в чем проблема

 ##[section]Starting: npm run build
==============================================================================
Task         : npm
Description  : Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.
Version      : 1.149.0
Author       : Microsoft Corporation
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613746)
==============================================================================
SYSTEMVSSCONNECTION exists true
SYSTEMVSSCONNECTION exists true
[command]/usr/local/bin/npm --version
6.7.0
[command]/usr/local/bin/npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.7.0 node/v10.15.1 linux x64"

; environment configs
userconfig = "/home/vsts/work/1/npm/116.npmrc"

; node bin location = /usr/local/bin/node
; cwd = /home/vsts/work/1/s
; HOME = /home/vsts
; "npm config ls -l" to show all defaults.

[command]/usr/local/bin/npm run-script build
npm ERR! code ELIFECYCLE

npm ERR! errno 1
> lulo@0.1.0 build /home/vsts/work/1/s
npm ERR! lulo@0.1.0 build: `react-scripts-ts build`
> react-scripts-ts build
npm ERR! Exit status 1

npm ERR! 
Creating an optimized production build...
npm ERR! Failed at the lulo@0.1.0 build script.
Starting type checking and linting service...
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Using1 worker‌ with ‌2048MB‌ memory limit‌

ts-loader: Using typescript@3.3.4000 and /home/vsts/work/1/s/tsconfig.prod.json
npm ERR! A complete log of this run can be found in:
Failed to compile.
npm ERR!     /home/vsts/.npm/_logs/2019-04-02T06_09_24_119Z-debug.log

Module not found: Error: Can't resolve './languageProvider' in '/home/vsts/work/1/s/src'


Found npm debug log, make sure the path matches with the one in npm's output: /home/vsts/.npm/_logs/2019-04-02T06_09_24_119Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'run-script',
1 verbose cli   'build' ]
2 info using npm@6.7.0
3 info using node@v10.15.1
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle lulo@0.1.0~prebuild: lulo@0.1.0
6 info lifecycle lulo@0.1.0~build: lulo@0.1.0
7 verbose lifecycle lulo@0.1.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle lulo@0.1.0~build: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/vsts/work/1/s/node_modules/.bin:"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
9 verbose lifecycle lulo@0.1.0~build: CWD: /home/vsts/work/1/s
10 silly lifecycle lulo@0.1.0~build: Args: [ '-c', 'react-scripts-ts build' ]
11 silly lifecycle lulo@0.1.0~build: Returned: code: 1  signal: null
12 info lifecycle lulo@0.1.0~build: Failed to exec build script
13 verbose stack Error: lulo@0.1.0 build: `react-scripts-ts build`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:189:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:189:13)
13 verbose stack     at maybeClose (internal/child_process.js:970:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid lulo@0.1.0
15 verbose cwd /home/vsts/work/1/s
16 verbose Linux 4.15.0-1037-azure
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run-script" "build"
18 verbose node v10.15.1
19 verbose npm  v6.7.0
20 error code ELIFECYCLE
21 error errno 1
22 error lulo@0.1.0 build: `react-scripts-ts build`
22 error Exit status 1
23 error Failed at the lulo@0.1.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

##[error]Error: Npm failed with return code: 1
##[section]Finishing: npm run build
  

мои пакеты.json

 {
  "name": "lulo",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "antd": "^3.15.1",
    "office-ui-fabric-react": "^6.157.1",
    "react": "^16.8.4",
    "react-adal": "^0.4.22",
    "react-dom": "^16.8.4",
    "react-intl": "^2.8.0",
    "react-scripts-ts": "3.1.0",
    "redux": "^4.0.1"
  },
  "scripts": {
    "start": "react-scripts-ts start",
    "build": "react-scripts-ts build",
    "test": "react-scripts-ts test --env=jsdom",
    "eject": "react-scripts-ts eject"
  },
  "devDependencies": {
    "@types/jest": "^24.0.11",
    "@types/node": "^11.11.4",
    "@types/react": "^16.8.8",
    "@types/react-adal": "^0.4.1",
    "@types/react-dom": "^16.8.2",
    "typescript": "^3.3.4000"
  }
}
  

и мой tsconfig.json

 {
  "compilerOptions": {
      "paths": { "*": ["types/*"] },
    "baseUrl": ".",
    "outDir": "build/dist",
    "module": "esnext",
    "target": "es5",
    "lib": ["es6", "dom"],
    "sourceMap": true,
    "allowJs": true,
    "jsx": "react",
    "moduleResolution": "node",
    "rootDir": "src",
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": true,
    "importHelpers": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "noUnusedLocals": true
  },
  "exclude": [
    "node_modules",
    "build",
    "scripts",
    "acceptance-tests",
    "webpack",
    "jest",
    "src/setupTests.ts"
  ]
}
  

Ответ №1:

Виновник найден здесь:

 Module not found: Error: Can't resolve './languageProvider' in '/home/vsts/work/1/s/src'
  

Убедитесь, что этот файл существует, и это может быть разрешено react-scripts-ts build .

Подсказка заключается в том, что скрипты сборки React используют Webpack под капотом и webpack.config.js#resolve#extensions определяют список расширений, которые должны быть разрешены с помощью Webpack. Убедитесь, что в нем есть src/languageProvider расширения.