강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

코딩의외로님의 프로필 이미지
코딩의외로

작성한 질문수

비주얼 스튜디오에서 install부터가 안됩니다.

작성

·

51

0

따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기 | 학습 페이지 (inflearn.com)

 

여기도 질문을 했는데 답을 못받을까봐 씁니다.

 

지금

   "dialogflow-fulfillment": "^0.6.1",

얘가 최신버전인데, 얘와 호환되는 애가 node6이라고 합니다. 지금 10버전이상이 나오고 있는데 6버전을 쓸 수는 없는 것 같아요.

 

 

 

최신버전에 맞처서 진행을 하고 싶습니다.

npm install을 하면 버전이 자꾸 안맞다고 합니다.
그렇다고 dialogflow-fulfillment이거를 최신노드버전이랑 호화되는 것을 찾으려고 하니... 저게 최신이라고 합니다. 6년전께요.

 

얼마전까지 인스톨해서 포스트맨까지확인하고, 채팅까지 했었고 이벤트 적용하다가 자꾸 에러가 처음부터 다시 작업하는데 이번에도 버전문제라고 하네요

 

모듈의 버전을 현재 안정적인 최신버전으로 (제 컴퓨터에깔린)바뀌어서 인스톨을 진행하지만 자꾸 에러가 납니다

 

 어떻게 하면 인스톨하고, 작업을 할까요?

얼마전 까지 인스톨을 지나서 기능만들고, css 적용하고 있는데 갑자기

갑자기 버전 문제라고 에러가 계속 뜨기시작합니다.

 

{
  "name": "chatbot-app",
  "version": "1.0.0",
  "description": "chatbot-app",
  "main": "index.js",
  "engines": {
    "node": ">=20.16.0",
    "npm": ">=10.2.0"
  },
  "scripts": {
    "start": "react-scripts --openssl-legacy-provider start",
    "build": "react-scripts --openssl-legacy-provider build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "backend": "nodemon index.js",
    "frontend": "npm run front --prefix client",
    "dev": "concurrently \"npm run backend\" \"npm run start --prefix client\""
  },
  "author": "Jaewon Ahn",
  "license": "ISC",
  "dependencies": {
    "@google-cloud/dialogflow": "^6.8.0",
    "actions-on-google": "^2.6.0",
    "body-parser": "^1.18.3",
    "dialogflow": "^4.0.3",
    "dialogflow-fulfillment": "^0.6.1",
    "express": "^4.16.4",
    "mongoose": "^5.4.20"
  },
  "devDependencies": {
    "concurrently": "^8.2.2",
    "nodemon": "^3.1.4"
  }
}
C:\project\vswork\chatbot-app>
C:\project\vswork\chatbot-app>npm install
npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE   package: 'dialogflow-fulfillment@0.6.1',
npm warn EBADENGINE   required: { node: '6' },
npm warn EBADENGINE   current: { node: 'v20.16.0', npm: '10.8.2' }
npm warn EBADENGINE }
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated npmlog@5.0.1: This package is no longer supported.
npm warn deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported.
npm warn deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm warn deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm warn deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm warn deprecated google-p12-pem@1.0.5: Package is no longer maintained
npm warn deprecated google-p12-pem@1.0.5: Package is no longer maintained
npm warn deprecated google-p12-pem@1.0.5: Package is no longer maintained
npm warn deprecated google-p12-pem@1.0.5: Package is no longer maintained
npm warn deprecated gauge@3.0.2: This package is no longer supported.
npm warn deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm warn deprecated axios@0.18.1: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm warn deprecated grpc@1.24.11: This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead.

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

이수경님, 질문하신 내용을 바탕으로 답변드립니다.

문제의 핵심은 dialogflow-fulfillment 라이브러리가 Node.js의 오래된 버전(6)에 대해서만 호환된다는 것입니다. 현재 Node.js 버전이 20.16.0으로, 이는 dialogflow-fulfillment의 필요 버전과 상당히 차이가 납니다.

일반적으로, 모듈과 Node.js 버전 간의 충돌이 있을 때 해결 방법 중 하나는 package.json에서 해당 모듈의 호환되는 버전을 찾아 이를 명시하는 것입니다. 하지만 dialogflow-fulfillment이 오랜 기간 동안 업데이트되지 않았다면, 최신 Node.js 버전과의 호환성을 확보하기 어려울 수 있습니다.

이런 경우, 몇 가지 해결책을 시도해볼 수 있습니다:

  1. 대체 모듈 사용: dialogflow-fulfillment과 유사한 기능을 제공하는 다른 모듈을 찾아보시기 바랍니다. 최신 Node.js 버전과 호환되는 모듈이 있을 수 있습니다.

  2. nvm (Node Version Manager) 사용: 다양한 Node.js 버전을 설치하고 관리할 수 있게 해주는 도구입니다. 필요에 따라 프로젝트별로 다른 Node.js 버전을 쉽게 전환하여 사용할 수 있습니다. 이 방법을 통해 dialogflow-fulfillment가 요구하는 Node.js 버전을 프로젝트에 맞게 설정할 수 있습니다.

  3. 컨테이너 사용: Docker 같은 컨테이너 기술을 사용하여 애플리케이션과 그 종속성을 포함하는 격리된 환경을 만들 수 있습니다. 이런 방식으로, 애플리케이션에서 요구하는 특정 Node.js 버전을 컨테이너 내에서 실행시킬 수 있으며, 이는 시스템의 다른 부분과 충돌을 방지합니다.

아쉽게도 제공해드린 정보 내에 dialogflow-fulfillment의 최신 버전이나 대체할 수 있는 모듈에 대한 정보는 없습니다. 이에 따라, 상기한 방법들을 고려하여 문제를 해결해 보시기 바랍니다.

코딩의외로님의 프로필 이미지
코딩의외로

작성한 질문수

질문하기