묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
csv-parse require 오류
안녕하세요. 다음과 같은 오류가 발생해서 질문드립니다. (base) ~/WebstormProjects/untitled1 npm init -y (base) ~/WebstormProjects/untitled1 npm i csv (csv-parse 계속 오류나길래 전체 패키지로 해봤습니다.) (base) ~/WebstormProjects/untitled1 node index index.js const parse = require('csv-parse/dist/cjs/sync.cjs') 오류 node:internal/modules/cjs/loader:488 throw e; ^ Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './dist/cjs/sync.cjs' is not defined by "exports" in /Users/username/WebstormProjects/untitled1/node_modules/csv-parse/package.json at new NodeError (node:internal/errors:371:5) at throwExportsNotFound (node:internal/modules/esm/resolve:440:9) at packageExportsResolve (node:internal/modules/esm/resolve:692:3) at resolveExports (node:internal/modules/cjs/loader:482:36) at Function.Module._findPath (node:internal/modules/cjs/loader:522:31) at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/Users/jeonsiwon/WebstormProjects/untitled1/index.js:1:15) { code: 'ERR_PACKAGE_PATH_NOT_EXPORTED' } 시도해본 방법 https://stackoverflow.com/questions/69693907/error-err-package-path-not-exported-package-subpath-lib-tokenize-is-not-d 참고하여 LTS 노드로 재 설치해서 시도했는데 동일한 오류가 계속 발생하네요.. 79 I am also stuck with the same problem because I installed the latest version of Node.js (v17.0.1). Just go for node.js v14.18.1 and remove the latest version just use the stable version v14.18.1 nvm uninstall <version> OR nvm uninstall v17.0.1 then install the LTS one which is v14.18.1 nvm install --lts This worked for me. package.json (untitled1) { "name": "untitled1", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "csv": "^6.0.5" }} package.json (csv-parse/package.json) { "version": "5.0.4", "name": "csv-parse", "description": "CSV parsing implementing the Node.js `stream.Transform` API", "keywords": [ "csv", "parse", "parser", "convert", "tsv", "stream" ], "author": "David Worms <david@adaltas.com> (https://www.adaltas.com)", "contributors": [ "David Worms <david@adaltas.com> (https://www.adaltas.com)", "Will White (https://github.com/willwhite)", "Justin Latimer (https://github.com/justinlatimer)", "jonseymour (https://github.com/jonseymour)", "pascalopitz (https://github.com/pascalopitz)", "Josh Pschorr (https://github.com/jpschorr)", "Elad Ben-Israel (https://github.com/eladb)", "Philippe Plantier (https://github.com/phipla)", "Tim Oxley (https://github.com/timoxley)", "Damon Oehlman (https://github.com/DamonOehlman)", "Alexandru Topliceanu (https://github.com/topliceanu)", "Visup (https://github.com/visup)", "Edmund von der Burg (https://github.com/evdb)", "Douglas Christopher Wilson (https://github.com/dougwilson)", "Joe Eaves (https://github.com/Joeasaurus)", "Mark Stosberg (https://github.com/markstos)" ], "exports": { ".": { "import": "./lib/index.js", "require": "./dist/cjs/index.cjs" }, "./sync": { "import": "./lib/sync.js", "require": "./dist/cjs/sync.cjs" }, "./browser/esm": "./dist/esm/index.js", "./browser/esm/sync": "./dist/esm/sync.js" }, "devDependencies": { "@rollup/plugin-eslint": "^8.0.1", "@rollup/plugin-node-resolve": "^13.0.6", "@types/mocha": "^9.0.0", "@types/node": "^16.11.7", "coffeelint": "^2.1.0", "coffeescript": "^2.6.1", "csv-generate": "^4.0.4", "csv-spectrum": "^1.0.0", "each": "^1.2.2", "eslint": "^8.2.0", "mocha": "^9.1.3", "pad": "^3.2.0", "rollup": "^2.60.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-globals": "^1.4.0", "should": "^13.2.3", "stream-transform": "^3.0.4", "ts-node": "^10.4.0", "typescript": "^4.4.4" }, "files": [ "dist", "lib" ], "homepage": "https://csv.js.org/parse/", "license": "MIT", "main": "./dist/cjs/index.cjs", "mocha": { "inline-diffs": true, "loader": "./test/loaders/all.mjs", "recursive": true, "reporter": "spec", "require": [ "should" ], "throw-deprecation": true, "timeout": 40000 }, "repository": { "type": "git", "url": "https://github.com/adaltas/node-csv.git", "directory": "packages/csv-parse" }, "scripts": { "build": "npm run build:rollup && npm run build:ts", "build:rollup": "npx rollup -c", "build:ts": "cp lib/*.ts dist/cjs && cp lib/*.ts dist/esm", "lint": "npm run lint:lib && npm run lint:samples && npm run lint:test", "lint:lib": "eslint --fix lib/*.js", "lint:samples": "eslint --fix samples/*.js", "lint:test": "coffeelint --fix test/*.coffee", "preversion": "npm run build && git add dist", "pretest": "npm run build", "test": "mocha 'test/**/*.{coffee,ts}'", "test:legacy": "mocha --loader=./test/loaders/legacy/all.mjs 'test/**/*.{coffee,ts}'" }, "type": "module", "types": "dist/esm/index.d.ts", "typesVersions": { "*": { ".": [ "dist/esm/index.d.ts" ], "sync": [ "dist/esm/sync.d.ts" ], "browser/esm": [ "dist/esm/index.d.ts" ], "browser/esm/sync": [ "dist/esm/sync.d.ts" ] } }, "gitHead": "bab8d89a6eb3bc073233e27b7af0a50284b1590f"}
-
미해결하루만에 Cypress로 작성하는 자바스크립트 E2E 테스트 코드
노션을 활용하셨는데, 강의자료가 정리된 곳은 없을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 제목과동일합니다.
-
미해결홍정모의 따라하며 배우는 C언어
비쥬얼 스튜디오 2022
선생님께서 2019버전으로 수업을 진행하시는데 이번에 2022버전이 나왔더라구요 그래서 2022로 다운받아서 쓰고 있는데 조금씩 다른 부분이 느껴져서요,, 다시 2019버전으로 다운받아서 쓰는 것이 나을까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
결과가 다르게 나타나는 이유
정확도부터 AUC까지 임계값에 따른 결과값들이 모두 조금씩 다르게 나타났는데, Train-Test 스플릿 과정에서의 무작위성때문에 그런것이 맞는지, 만약 동일폴드의 교차검증을 진행하게 된다면 같은 결과를 얻을 수 있는 것이 맞는지 여쭙고자 질문드립니다.
-
미해결CSS Flex와 Grid 제대로 익히기
padding-bottom: 60%과 가로스크롤 질문
height; 0을 주고 padding-bottom에다가 %을 하면 부모의 width 값이 크거나 작아지면서 변할때 마다 그 width값의 60%가 해당 요소의 hieght 값이 된다는 거는 알겠는데 그럼 padding-bottom이 .card-image의 높이 역할을 대신해준다고 보면 될까요? 굳이 padding-bottom에다가 % 주는거 말고, .card-image의 height에다가 %를 직접 주지 않는 이유를 생각 해봤는데 그냥 .card-image(자식)에 height: 60%을 하게 되면 부모인 .card-item의 width 60% 값을 .card-image의 height으로 설정 하는게 아니라 .card-item(부모)의 height 60% 값을 .card-image의 height으로 하는 것 같군요. 결론은 .card-item(부모)의 width값이 변할때마다 .card-image의 height 값을 유동적으로 바꿀려면 padding를 이용해서 마치 (padding-bottom 또는 padding-top)이 .card-image(자식)의 height처럼 작동 해야하는 군요. 어떤 요소의 padding 값에 % 주게 되면 그 값의 기준은 그 요소의 부모의 width값인지 궁금합니다. 자식의 height에 직접 %으로 준거는 부모의 height를 기준으로 계산하기 때문에 기존의 height 값을 0으로 초기화하고 부모의 width 값을 기준으로 % 계산을 하는 padding-top 또는padding-bottom을 이용해서 hight을 설정 하는 것 같은데 맞나요? padding-top, padding-bottom, padding-left, padding-right 모두 %를 쓰게 되면 부모의 width값을 기준으로 되는 것 같은데 맞나요? ============ 선생님 가로스크롤를 overflow로 해결하셨는데 저는 이해가 되지 않아서 혹시 그림으로 설명 가능할까요? ㅠㅠ margin: 0 - 1rem; 부터 개발자 도구를 봐도 잘 모르겠습니다 ㅠㅠ 그리고 .cart-list-con으로 감싼 이유가 뭔가요? ㅠㅠ
-
해결됨
jpa persist not working
안녕하세요! jpa를 이용하여 db를 2개 접속합니다. 각각 config 패키지에 bean을 등록하여 사용했습니다. 발생한 문제는 다음과 같습니다. @Primary로 등록한 1번 db의 datasource부분에서는 문제없이 Transaction이 잘 일어나지만 등록하지 않은 2번 db datasource에서는 select같은 쿼리는 동작하지만 pesist는 동작하지 않습니다. 2번 db에서는 Transaction이 일어나지 않는것 같은데... https://jonghyeok-dev.tistory.com/44 위 블로그를 참고하여 코드를 작성 했습니다. 해결 방법이 있을까요? 감사합니다...!
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.use()와 프로미스 인스턴스의 우선순위
안녕하세요 조현영님 오랜만에 질문올립니다. 제가 모종의 이유로 인해 app.use()를 프로미스 객체를 반환하는 함수랑 같이 쓰기 위해서 다음과 같은 코드를 만들었습니다. (async () => { try { const result = await getNum(); process.nextTick(() => { app.use("/product/product1", product1Router); app.use("/product/product2", product2Router); app.use("/product/product3", product3Router); }); } catch (err) { console.error(err.message); } })(); 일단 app.use("/product/...")를 async/await 구문안에 넣지 않거나 const result = await getNum() 위에 선언하여 사용하면 해당 경로에 get요청을 보낼시 페이지가 잘 나오게 됩니다. 허나 const result = await getNum() 밑에 선언하게 되면 페이지와 콘솔에 제가 만들어 놓았던 404 처리 미들웨어가 실행되며 에러를 뿜습니다 (경로가 인식이 안되는 거 같습니다). await getNum()의 처리가 늦어져서 밑에 있던 app.use()가 실행이 안되는게 아닐까 생각하며 조현영님께서 process.nextTick()을 사용하면 프로미스 객체보다 실행 우선순위를 빠르게 점유 할수 있다는 말씀을 듣고 app.use()를 process.nextTick()으로 감싸버렸습니다. 그런데 프로미스는 비동기 처리이니까 getNum()의 처리가 아무리 늦어져도 밑에 있는 app.use()가 실행이 되어야하는거 아닐까요? 만약에 product1Router역시 async/await으로 감싸져 있다면 문제가 될까요? 혹시 모르니 product1Router 코드도 보여드리겠습니다. (product2Router, product3Router역시 형태는 product1Router와 같습니다.) const express = require("express"); const axios = require("axios"); const router = express.Router(); const showPage = require("../modules/showPage"); router.route("/").get(async (req, res) => { try { const result = await axios.get("http://127.0.0.1:3257"); const productID = String(result.data[0].id); showPage(productID, res); console.log("Request Type:", req.method); } catch (err) { console.error(err); } }); module.exports = router; product1Router역시 async/await으로 감싸져서 process.nextTick()의 효과를 못 받는건가요? 그게 아니라면 어떤 문제가 있을까요? 굳이 process.nextTick()을 이용해서 코드를 짤 필요는 없으니 어떤 이유 때문에 const result = await getNum() 아래에 app.use()를 사용하면 실행이 안되는지 궁금합니다.
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
깃헛 권한 요청 드립니다.
인프런 아이디 : 김우진 인프런 이메일 : mystatsolve@gmail.com 깃헙 아이디 : royslab-statcon 깃헙 Username : royslab-statcon
-
미해결Vue로 Nodebird SNS 만들기
aws 세팅시 @nuxtjs/moment 가 설치가 안되는 분들
npm install --save-dev @nuxtjs/moment 한번씩 해주시면 build 시 오류 없이 잘됩니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
그 환경설정 부분에서 프레임 처리할때 질문드립니다!!
그 프레임 처리하실때 currentTick을 System.Environment.TickCount 로 계속 받아주는데 프로그램 실행 시간이 길어지면 currentTick 부분이 오버플로우가 나지는 않나요?? 딱히 루프에서 0으로 초기화하시지는 않으신 것 같아서 질문드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
궁금한게 있는데 vs 언어팩은 보통 한글을 쓰나요 영어를 쓰나요?
기존엔 영어를 못하기도 해서 한글을 사용했는데다른 외부라이브러리를 사용하는걸 보고따라하려고 해보니까vs를 한글팩으로 사용하면 오류가 뜨더라구요그래서 영어팩으로 바꿔서 사용하는데 좀 어색하더라구요그러다보니 궁금한게현업에선 vs를 사용할떄 영어로 사용하시나요??지금이라도 영어로 사용하는걸 익숙해져야 하나요??
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
강의 9분 10초경 모듈 관련 질문
혹시 어떤 이유로 providers 에 CatsRepository를 넣지않고 CatsModule 전체를 import 하는건가요??
-
미해결스프링 시큐리티
URL방식 - Map기반 DB연동 강의
안녕하세요 URL 방식의 Map기반 DB 연동 관련되어서 공부를 진행하고 있습니다. 웹 기반 인가처리 DB 연동 - FilterInvocationSecurityMet (2) 강의부터는 JPA 설정 또는 gitgub 소스를 보고 최대한 참고해서 문제를 해결해보려고했지만, 강의내용 외 skip된 내용들이 생기면서 문제가 발생하고있습니다. 어떤 문제 때문인지 원인을 찾을 수 있을까요? 도움 부탁드립니다. 소스 : https://github.com/choiminjong/corespringsecurity/tree/v2 오류
-
미해결예제로 공부하는 Python 100 문제풀이 Part.1
변수 메모리할당
a= korea와 b=korea 가 같은 메모리주소를 가지는게 python 만의 특징인가요? 다른언어도 마찬가지인가요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
async/await 질문
async / await을 만약 레포지토리에서 사용했다면 서비스에서는 레포지토리 함수를 async/await 없이 그냥 호출하면 안되나요? 예를 들어) cat.repository.ts 파일에 import { createCatDto } from './dto/cat.create.dto'; import { ConflictException } from '@nestjs/common'; import { Cats } from 'src/entities/cat.entity'; import { EntityRepository, Repository } from 'typeorm'; import * as bcrypt from 'bcrypt'; @EntityRepository(Cats) export class CatRepository extends Repository<Cats> { async createCat(data: createCatDto) { const theCat = await this.findOne({ where: { email: data.email, }, }); if (theCat) { throw new ConflictException('이미 존재하는 고양이입니다.'); } data.password = await bcrypt.hash(data.password, 10); const newCat = await this.save(this.create(data)); delete newCat.password; return newCat; } async findCatByEmail(email: string) { const theCat = await this.findOne({ where: { email, }, }); return theCat; } } 라고 하고 findCatByEmail을 사용한 AuthService에서는 auth.service.ts const cat = await this.catRepository.findCatByEmail(email) 위의 cat 정의에 await을 붙혀 줘야하는건가요??저는 이미 레포지토리단에서 프로미스로 값을 받았으니 await을 안붙혀도되는줄알았는데 안붙히니까 const isPasswordValidated = await bcrypt.compare(password, cat.password ) cat.password 의 password에 빨간줄 들어오면서 타입스크립트에서 잡아주네요 await 빼먹은것같다면서,.. 왜 await을 붙혀 줘야하는거죠?
-
미해결프론트엔드 개발자를 위한 웹팩
entry 진입점
혹시 entry 진입점이 1개든 여러개든 bundle.js 하나로 빌드가 되는 것 같은데 이 진입점들이 많은 건 로딩속도 측면에서 상관이 없을까요? 좋은강의 감사합니다!
-
미해결
국비지원 되나요?
리눅스 들의려고 하는데 혹시 여기 내일배움카드 로 되나요?
-
미해결구글 스프레드시트로 배우는 업무 자동화(직장인 코딩)
강사님 감사합니다 예제 시트 공유 부탁드립니다.
goqud1182@gmail.com 입니다. 감사합니다.4
-
미해결로그프레소 시작하기
암호 만료
id : root pw : logpresso 로그인시 암호가 만료되었다는 알럿이 뜹니다. 암호 만료 어떻게 푸나요 ? 재설치해도 똑같이 알럿이 뜹니다
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
"use strict" 아래에 with문을 사용한 코드
해당 문장을 작성해보았습니다. 1. use strict 없을 때 let sampleValue = 10; let sampleObj = { name : "Hong", age : 22, value : "hi i'm value" } function doSomething(value) { with(value) { console.log(value); //hi, im value } } console.log(doSomething(sampleObj)); 없을 때는 정상적으로 동작하고, 신기했던 점은 with문의 표현식 안에 있는 value가 객체 전체를 반환하는 것이 아니라 객체 내부의 프로퍼티에 직접 접근해서 프로퍼티를 반환했습니다. 언뜻 편할 것 같지만, 다른 개발자가 이 코드를 봤을 때 정확히 무엇을 매개변수로 받아들이고 있는지 모른다면, 모호할 수 있는 문장이라고 생각이 들었습니다. 2. "use strict"가 있을 때 "use strict" let sampleValue = 10; let sampleObj = { name : "Hong", age : 22, value : "hi i'm value" } function doSomething(value) { with(value) { console.log(value); //hi, im value } } console.log(doSomething(sampleObj)); //Strict mode code may not include a with statement 그리고 "use strict"를 사용하니 이런 에러가 발생했습니다. 스트릭트 모드에서는 with문을 포함하지 않는다는 문구인 것 같은데, 위의 문장의 모호성 때문에 ESLint에서는 with문을 사용하지 못하도록 문법이 바뀐 걸까요? 조금 신기합니다.