본문 바로가기
빌드노트 검색

빌드노트

빌드·배포

빌드·배포 카테고리의 글입니다.

글 검색

글 목록

총 49개의 글

  1. npm run --if-present는 없는 스크립트만 건너뛴다

    npm run --if-present는 scripts에 없는 이름만 건너뛴다. 설치 없는 Node 예제로 성공·실패·누락을 옵션 유무별로 비교하고, stderr가 비어 있어도 종료 코드 7인 경우와 CI에 실패를 전달하는 방법을 확인한다.

  2. pluginManagement에 execution을 넣었는데 Maven이 실행하지 않는 이유

    pluginManagement의 execution은 관리 기본값이다. AntRun 파일 생성이 빠지는 두 POM을 비교하고 build/plugins 참조로 연결하는 방법을 설명한다. jar 기본 생명주기에 연결된 Resources는 별도로 구분한다.

  3. Maven -pl 빌드가 형제 모듈을 못 찾을 때 -am을 붙이는 이유

    전체 package는 되는데 -pl app만 실패한다면 reactor의 빌드 대상을 확인한다. 빈 전용 저장소에서 -am의 효과를 비교하고, target의 JAR과 로컬 저장소에 설치된 아티팩트를 구별한다.

  4. Maven filtering 뒤 바이너리 파일의 해시가 달라지는 이유

    Maven 리소스 필터링은 기본 제외 목록에 없는 바이너리도 문자열 치환 대상으로 삼을 수 있다. 합성 .bin의 21→11바이트 변경과 PNG 보존, 두 수정안의 원본 해시 보존을 비교하고 폴더 분리와 nonFilteredFileExtensions의 선택 기준을 설명한다.

  5. Maven에서 다른 profile을 켜면 기본 설정이 빠지는 이유

    -Paudit를 켰을 때 기본 속성이 빠진다면 활성 profile과 최종 POM부터 확인한다. 같은 POM의 activeByDefault 동작을 세 조건으로 비교하고, 공통 설정을 본체로 옮길지 두 profile을 명시할지 판단한다.

  6. 터미널에서는 없는 명령이 npm run에서는 실행된다

    npm run에서만 도구를 찾는 이유를 로컬 .bin 검색 경로로 확인한다. 합성 패키지의 실제 실행 경로와 버전을 대조하고, 전역 설치를 추가하기 전에 프로젝트 도구를 선택하는 방법을 설명한다.

  7. Maven 컴파일은 되는데 직접 실행하면 provided 클래스가 없다

    provided 의존성은 컴파일에 있어도 실행 경로에서는 빠진다. 새 JVM의 클래스 누락과 명시적 classpath 실행 성공을 비교하고, 실행 환경의 제공 여부에 따라 scope와 실행 경로를 함께 고치는 방법을 확인한다.

  8. BOM을 import했는데 클래스가 컴파일되지 않는 이유

    BOM에 관리된 버전이 보여도 라이브러리가 컴파일 의존성에 포함된 것은 아니다. effective POM과 dependency tree를 대조하고, 버전 없는 실제 의존성 선언으로 컴파일 실패를 해결하는 과정을 확인한다.

  9. npm install --package-lock-only는 끝났는데 새 패키지를 import할 수 없다

    package-lock-only로 lock을 갱신해도 실제 패키지 파일은 설치되지 않는다. 새 로컬 tarball에서 파일·resolve·import의 실패와 실제 설치 뒤 성공을 비교하고, 현재 옵션 값과 프로젝트 npmrc를 확인해 필요한 설치를 이어서 수행한다.

  10. 호스트는 설치됐는데 플러그인 추가가 ERESOLVE로 멈춘다

    호스트가 이미 설치돼 있어도 플러그인의 peer 버전 요구와 다르면 npm install이 실패할 수 있다. 로컬 tarball의 충돌·호환 조합을 비교하고, 오류의 Found와 peer 경로로 바꿔야 할 버전을 고른다.

  11. Maven 테스트에서는 되는데 main에서는 패키지를 못 찾는다

    같은 JAR이 있어도 Maven의 test scope는 main 컴파일 경로에 포함되지 않는다. 소스 위치와 scope를 바꾼 실제 비교로 실패 단계를 확인하고, 테스트 도우미를 옮길지 앱의 컴파일 의존성으로 선언할지 판단한다.

  12. npm pack --dry-run인데 prepack이 생성 파일을 바꾼다

    npm 10.9.8과 11.6.0에서 pack --dry-run이 생성 파일을 바꾸고도 tarball은 저장하지 않는 동작을 확인했다. 10.9.8에서는 ignore-scripts에도 prepare가 실행돼, 버전별 hook 확인과 검사 전용 사본의 목록 조회를 구분한다.