개요

심볼릭 링크에 대해서는 '파이썬 2개 버전 동시 사용하기' 글에서 이미 다루었다. 해당 글을 작성하고 최근까지도 나는 이 경우에만 심볼릭 링크를 사용하는 줄 알았다. 그러나 자사 제품의 로컬 실행을 위해 빌드하며 다른 메시지의 오류 2개를 심볼릭 링크로 해결해보며, 이것이 다양한 경우에서 사용될 수 있음을 깨달았다. 요약하자면 심볼릭 링크는 파일 A와 B가 멀리 떨어진 위치에 있을 때, A 파일을 실행하며 종속적으로 B 파일 실행이 필요한 경우 A에 B 파일의 위치를 알려주는 느낌이다.

 


 

Windows에서의 Symbolic Link

Symbolic Link 란?
  • 링크를 연결하여 원본 파일을 직접 사용하는 것과 같은 효과를 내는 링크이다.
  • 윈도우의 바로가기와 비슷한 개념이다.
  • 특정 폴더에 링크를 걸어 NAS, library 원본 파일을 사용하기 위해 심볼릭 링크를 사용한다.
  • 소프트 링크라고도 한다.
  • 리눅스 용어이지만 자사에서는 윈도우로 개발하는 바, 이하에서는 윈도우 명령어와 오류로 설명한다. 

 

명령어 및 결과

1. 링크 생성

  • 파일에 대한 링크 생성 : mklink 생성파일 실행파일 
mklink C:\Workspace\Rogic\scratch-blocks\python.exe C:\Python27\python.exe
// cmd 결과
C:\Workspace\Rogic\scratch-blocks\python.exe <<===>> C:\Python27\python.exe에 대한 기호화된 링크를 만들었습니다.
// 파일탐색기 결과
심볼릭링크 유형으로 실행파일.exe가 추가됨

 

  • 디렉토리에 대한 링크 생성 : mklink 생성디렉토리 실행디렉토리
    -> 파일에서 디렉토리로만 변경되고, 로직 및 결과는 동일하게 확인 가능하다.

 

2. 링크 삭제 

  • 파일에 대한 링크 삭제 
    • cmd 창을 이용 : (생성파일이 있는 디렉토리로 이동하여) del 생성파일
    • 파일탐색기 이용 : 위 사진에 있는 심볼릭 링크 파일 삭제
  • 디렉토리에 대한 링크 삭제
    • cmd 창을 이용 : (생성 디렉토리로 이동하여) rmdir 생성디렉토리 
    • 파일탐색기 이용 : 상동

 


 

Trouble Shooting

오류 내용
  • scratch-blocks에서 npm run prepublish 실행 시 아래 오류 발생 
// 파이썬에서 site-packages를 찾을 수 없는 오류
ImportError: No module named site

// 자바가 path에 없다는 오류
Could not find "java" in your PATH.
Using remote compiler: closure-compiler.appspot.com ...

Error: Closure not found.

 

오류 원인(내 생각)
  • 파이썬의 경우 2개 버전을 함께 사용하므로 설치한 후부터 지금까지 경로가 꼬였을 수 있겠다고 생각했다. 따라서 완전 삭제 후 재설치하고 오류를 해결하기로 했다.
  • 그러나 재설치해도 위 오류는 동일하게 발생했다. 따라서 scratch-blocks에서 실행되는 파이썬(ver 2.7.18)에게 site-packages를 찾을 수 있도록 알려주어야 겠다고 생각했다. 
  • 자바의 경우에도 고급 시스템 설정-환경변수-Path에 올바른 경로를 추가해도 위와 같은 오류가 발생했다. 따라서 scratch-blocks에서 실행되는 자바가 어디 있는지 알려주어야 겠다고 생각했다. 
  • 즉 위의 두 문제 모두 메시지는 다르지만 '알려준다' 라는 요점이 같고, 이것이 곧 심볼릭 링크라고 생각했다!

 

해결 
// 파이썬은 두 버전의 명령어를 구분하여 심볼릭 링크 만들기
mklink C:\Workspace\Rogic\scratch-blocks\python.exe C:\Python27\python.exe  // 빌드 명령어 : python
C:\Workspace\Rogic\scratch-blocks\python.exe <<===>> C:\Python27\python.exe에 대한 기호화된 링크를 만들었습니다.

mklink C:\Workspace\Rogic\scratch-blocks\py.exe C:\Users\KHR\AppData\Local\Programs\Python\Python312\python.exe  // ai 개발 명령어 : py
C:\Workspace\Rogic\scratch-blocks\py.exe <<===>> C:\Users\KHR\AppData\Local\Programs\Python\Python312\python.exe에 대한 기호화된 링크를 만들었습니다.


// 자바
mklink "C:\Workspace\Rogic\scratch-blocks\java.exe" "C:\Program Files (x86)\Java\jre-1.8\bin\java.exe"
C:\Workspace\Rogic\scratch-blocks\java.exe <<===>> C:\Program Files (x86)\Java\jre-1.8\bin\java.exe에 대한 기호화된 링크를 만들었습니다.
  • 주의할 점
    • 빌드하는 디렉토리 위치에서 심볼릭링크를 생성해야한다! 처음 cmd 창을 열었을 때 설정 되어있는 기본 디렉토리에서 링크 생성해봤자 소용 없다!
    • cmd 창을 관리자 권한으로 열어야한다! 관리자 권한으로 열지 않으면 명령어가 권한이 없어 작동하지 않는다!

 


 

참고 자료

https://bluedrim.tistory.com/entry/%EC%9C%88%EB%8F%847-%EC%8B%AC%EB%B3%BC%EB%A6%AD-%EB%A7%81%ED%81%AC-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EB%B0%8F-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0

 

윈도7 심볼릭 링크 만들기 및 삭제하기

윈도7 심볼릭 링크 만들기 및 삭제하는 방법, 심볼릭 링크라고도 하고 소프트 링크라고도 함 먼저 command 창을 관리자 권한으로 실행시키는 것이 필요. 보조프로그램에서 "명령 프롬프트"를 마우

bluedrim.tistory.com

231031 7번째 완료

 

'Backend > Enviornment setting | Git' 카테고리의 다른 글

[Setting] Visual Studio Code 위주 유용한 단축키 + 확장 앱  (0) 2023.11.30
[Git] commit과 push  (0) 2023.11.30
[Git] git stash  (0) 2023.11.29

+ Recent posts