programing

오류: 'babel-register' 모듈을 찾을 수 없습니다.

lovejava 2023. 7. 8. 10:24

오류: 'babel-register' 모듈을 찾을 수 없습니다.

저는 현재 고속 백엔드에 연결하는 오라클을 만드는 프로젝트를 진행하고 있습니다.환경이 이미 구현되어 github의 저장소로 푸시되었습니다.저는 프로젝트를 복제하고 npm 설치를 실행하여 프로젝트에 필요한 모든 패키지를 가져왔습니다.그런 다음 프로젝트를 실행하려고 했는데 다음 오류가 발생했습니다.

module.js:550
   throw err;
   ^

Error: Cannot find module 'babel-register'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\xxxx\xxxx\Documents\Work\ef-backend\bin\www:1:63)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
[nodemon] app crashed - waiting for file changes before starting...

그런 다음 패키지가 깃노어에 들어갔을 수도 있다고 생각하여 npm babel-register 설치를 진행했습니다.패키지가 설치된 후 프로젝트를 한 번 더 실행하려고 시도했지만 동일한 오류가 계속 발생했습니다.

이 문제는 제가 직접 해결했는데, 사실 패키지 잠금 파일이 패키지 파일과 동기화되지 않는 문제였습니다.패키지 잠금 파일과 설치된 npm을 삭제했습니다.이를 통해 프로젝트가 올바르게 실행될 수 있었습니다.

내 경우 스크립트에 오류가 있습니다.

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node --require 'babel-register' src/index.js"
  }

babel-register에서 인용문을 제거하여 스크립트를 편집해야 했습니다. 올바른 문장은 다음과 같습니다.

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node --require babel-register src/index.js"
  }

최근에 비슷한 문제가 있었습니다. 실행 중입니다.mocha다음 오류를 반환했습니다.

✖ ERROR: Error: Cannot find module '@babel/register'

그걸 고치기 위해, 난 도망쳐야 했습니다.npm test대신에mocha.

npm test스크립트는 에서 정의됩니다.package.json명백한다음은 관련 종속성입니다.

package.json

  "scripts": {
    ...
    "test": "mocha",
  },
  "devDependencies": {
    "@babel/cli": "^7.12.10",
    "@babel/core": "^7.12.10",
    "@babel/preset-env": "^7.12.11",
    "@babel/register": "^7.12.10",
    "mocha": "^8.2.1"
  }

와 같은 위치에 있습니다.package.json두 개의 다른 파일이 있습니다.

babel.config.json

{
    "presets": ["@babel/preset-env"]
}

.mocharc.yaml

require:
    - "@babel/register"

와의 차이점은 파일을 사용한다는 것입니다.이 힌트는 Babel 패키지에서 왔습니다.mochajs/mocha-examplesGitHub의 저장소입니다.

npm test - 로컬 .mocharc.dll 구성 파일을 사용하여 테스트를 실행합니다.

출처:

나의 경우, 나는 없었습니다.devDependency로.babel-cli그것을 추가하면 모든 것이 잘 작동합니다.

https://github.com/babel/babel/issues/10777#issuecomment-559765256 은 제 문제를 해결했습니다.

문제는 mocha가 개발 종속성의 일부가 아닌 글로벌 설치 모듈에 있다는 것입니다.

이 오류는 하지 않은 실수로 인해 발생할 수 있습니다.yarn install레포 복제 후.

  1. 여전히 문제가 있는 경우 @babel/register가 개발 종속성에 있으면 .npmrc에 production=false를 추가하십시오.
  2. 16번 노드와 18번 노드에도 동일한 문제가 있습니다.
  3. 또는 npm install --dev=dev를 사용합니다.
  4. groovy 파일에 npm 구성 세트 생산 false를 추가하여 해결합니다.
  5. 만약 당신이 생산을 하기를 원하지 않는다면 npm 구성 세트를 포함하여 dev를 포함하여 이것도 작동할 것입니다.

언급URL : https://stackoverflow.com/questions/53748871/error-cannot-find-module-babel-register