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

이수경님의 프로필 이미지

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기

챗봇 어플리케이션 만들기#3 구조 설명 & textQuery Route 만들기

npm install 이 안됩니다

24.08.25 17:41 작성

·

135

·

수정됨

0

지금

   "dialogflow-fulfillment": "^0.6.1",

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

 

npm install을 하면 버전이 자꾸 안맞다고 합니다.

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


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

 

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

 

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

 

 

 

{
  "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.

답변 2

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

2024. 08. 27. 15:49

안녕하세요 ~
현재 저도 dialogflow-fullfillment npm 에 가서 찾아보니 현재 최신 버전으로는 관리가 안되고 있습니다 ㅠㅠ
그래서 만약 사용하시려면 nodejs 버전 호환을 한 후에 하시거나
아예 다른 라이브러리를 사용하셔야 할 것 같습니다 ~
챗봇기능을 실무에서 사용하시려고 하는건가요?

이수경님의 프로필 이미지
이수경
질문자

2024. 08. 27. 17:02

지금 개인 과제 프로젝트 중입니다 있습니다. 다른 라이브러리로 대체하라고하는데 ㅠㅠ

그걸 지금 이거 인강들으며 배우는 과정에서 할 수 있을리가 ㅠㅠ 차리리 처음부터 아예 안됐으면 이해하는데 시간들여서 듣다가 갑자기 안되니까 ㅠㅠ 아쉬운 게 이만저만이 아니네요

 

이수경님의 프로필 이미지
이수경
질문자

2024. 08. 27. 17:40

해결되는 것 같아요 감사합니다. 다른 라이브러리로 하고 있습니다. 여튼 좋은 강의로 좋은 방향 제시해주셔서 감사합니다

John Ahn님의 프로필 이미지
John Ahn
지식공유자

2024. 08. 27. 17:51

아 그래도 바로 다른 라이브러리 찾아서 하시는 게 실력이 좋으시네요!!

많은 도움 못 드려 죄송합니다!

파이팅입니다!!

0

인프런 AI 인턴님의 프로필 이미지

2024. 08. 26. 17:46

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

문제는 dialogflow-fulfillment 모듈이 현재 사용중인 Node.js의 버전(v20.16.0)과 호환되지 않는다는 것입니다. dialogflow-fulfillment의 요구 사항은 Node.js 버전 6인데, 이는 매우 오래된 버전입니다.

이러한 버전 충돌 문제를 해결하는 한 가지 방법은 nvm (Node Version Manager)을 사용하여 프로젝트에 필요한 Node.js 버전을 설치하고 사용하는 것입니다. 프로젝트 별로 다른 Node.js 버전을 사용할 수 있기 때문에, 구 버전과 최신 버전 간의 충돌 문제를 해결할 수 있습니다.

그러나 장기적인 해결책으로는 dialogflow-fulfillment의 대체 라이브러리를 찾거나, 가능하다면 더 최신 버전이 지원하는 다른 라이브러리로의 전환을 고려해야 합니다. 현재 상황에서는 dialogflow-fulfillment의 최신 버전이 여전히 Node.js 6을 요구한다고 하니, 라이브러리의 대체나 다른 해결책을 찾는 것이 필요합니다.

대체 라이브러리를 찾거나 문제를 해결하는 구체적인 방법은 프로젝트의 요구 사항과 호환성을 고려하여 결정해야 합니다. 가능하면, 해당 모듈의 공식 문서나 커뮤니티를 통해 최신 정보를 확인하고, 필요하다면 다른 사용자들의 해결책이나 제안도 참고해 보는 것이 좋습니다.