개발/NodeJS 2

Typescript compilerHost를 사용해 컴파일 할 때 주의사항

Typescript compilerHost는 현재 app의 pwd 경로를 기준으로 @types/node 등의 기본 의존성 타입을 찾는다. 따라서 mono repo와 같은 복잡한 구조인 경우 실행되는 app의 경로를 잘 지정하거나, compilerHost.getCurrentDirectory를 overwrite 하여 정확한 경로를 수동으로 지정해줄 필요가 있다. // typescript는 cwd를 기준으로 node_modules/typescript/lib을 기본 lib 경로로 사용한다. 정확히 바라보도록 설정해준다. compilerHost.getCurrentDirectory = () => { console.log(`compilerHost.getCurrentDirectory`, __dirname, path.r..

개발/NodeJS 2024.03.20

pnpm 심볼릭 링크 버그 수정하기

개요 최근 내부 저장소의 기본 의존성을 최신 버전으로 업그레이드한 이후, 특정 서버가 런타임 중에 중단되기 시작했다. ERROR 1: uncaughtException : Error: libtensorflow.so.2: cannot open shared object file: No such file or directory TensorFlow의 Node.js 버전은 모듈 설치 후 설치 스크립트에 의해 운영 체제별로 의존성을 다운로드하거나 소스 코드에서 빌드되며, 결국 빌드된 바이너리 파일을 심볼릭 링크로 연결한 특정 경로를 생성한다. TensorFlow Node.js API는 이러한 심볼릭 링크를 참조한다. 이 모듈의 내부 작동 방식은 사용자가 알 필요가 없어야 한다. 정상적으로 빌드가 완료되면 그냥 작동해..

개발/NodeJS 2024.02.26