Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

한글 파일이름 사용할 수 있는 방법 아시는 분 - Found the following files with non-portable file names #1

Open
statkclee opened this issue Aug 9, 2021 · 6 comments

Comments

@statkclee
Copy link
Contributor

eStat 에서 다운로드 받은 파일을 외부 데이터 디렉토리에 넣어 check 하였는데 오류가 생겼습니다.

Found the following files with non-portable file names

inst/extdata/초등과학3-2그림자길이(136쪽).csv
inst/extdata/초등과학3-2우리나라해역오염실태자료(104쪽).csv

상기 오류 해결 방법 아시는 분 손!!!


==> devtools::check(document = FALSE)

─ Building ────────────────────────────────────────────────── statdata ─
Setting env vars:
• CFLAGS : -Wall -pedantic
• CXXFLAGS : -Wall -pedantic
• CXX11FLAGS: -Wall -pedantic
──────────────────────────────────────────────────────────────
✓ checking for file ‘/Users/kwangchunlee/swc/statdata/DESCRIPTION’ ...
─ preparing ‘statdata’:
✓ checking DESCRIPTION meta-information ...
─ checking for LF line-endings in source and make files and shell scripts
─ checking for empty or unneeded directories
─ building ‘statdata_0.1.0.tar.gz’

─ Checking ────────────────────────────────────────────────── statdata ─
Setting env vars:
R_CHECK_CRAN_INCOMING_USE_ASPELL: TRUE
R_CHECK_CRAN_INCOMING_REMOTE : FALSE
R_CHECK_CRAN_INCOMING : FALSE
R_CHECK_FORCE_SUGGESTS : FALSE
• NOT_CRAN : true
── R CMD check ─────────────────────────────────────────────────────────────────
─ using log directory ‘/Users/kwangchunlee/swc/statdata.Rcheck’ (357ms)
─ using R version 4.0.4 (2021-02-15)
─ using platform: x86_64-apple-darwin17.0 (64-bit)
─ using session charset: UTF-8
─ using options ‘--no-manual --as-cran’
✓ checking for file ‘statdata/DESCRIPTION’
─ checking extension type ... Package
─ this is package ‘statdata’ version ‘0.1.0’
─ package encoding: UTF-8
✓ checking package namespace information
✓ checking package dependencies (5.2s)
✓ checking if this is a source package
✓ checking if there is a namespace
✓ checking for executable files ...
✓ checking for hidden files and directories
E checking for portable file names ...
Found the following files with non-portable file names:
inst/extdata/초등과학3-2그림자길이(136쪽).csv
inst/extdata/초등과학3-2우리나라해역오염실태자료(104쪽).csv
These are not valid file names on all R platforms.
Please rename the files and try again.
See section ‘Package structure’ in the ‘Writing R Extensions’ manual.
WARNING
Found the following files with non-portable file names:
inst/extdata/초등과학3-2그림자길이(136쪽).csv
inst/extdata/초등과학3-2우리나라해역오염실태자료(104쪽).csv
These are not fully portable file names.
See section ‘Package structure’ in the ‘Writing R Extensions’ manual.
✓ checking for sufficient/correct file permissions
✓ checking serialization versions ...
✓ checking whether package ‘statdata’ can be installed (1.3s)
✓ checking installed package size ...
✓ checking package directory ...
✓ checking for future file timestamps (1.6s)
✓ checking DESCRIPTION meta-information ...
✓ checking top-level files
✓ checking for left-over files
✓ checking index information
✓ checking package subdirectories ...
✓ checking R files for non-ASCII characters ...
✓ checking R files for syntax errors ...
✓ checking whether the package can be loaded ...
✓ checking whether the package can be loaded with stated dependencies ...
✓ checking whether the package can be unloaded cleanly ...
✓ checking whether the namespace can be loaded with stated dependencies ...
✓ checking whether the namespace can be unloaded cleanly ...
✓ checking dependencies in R code ...
✓ checking S3 generic/method consistency (415ms)
✓ checking replacement functions ...
✓ checking foreign function calls ...
✓ checking R code for possible problems (1.8s)
✓ checking Rd files ...
✓ checking Rd metadata ...
✓ checking Rd line widths ...
✓ checking Rd cross-references ...
✓ checking for missing documentation entries ...
✓ checking for code/documentation mismatches (392ms)
✓ checking Rd \usage sections (502ms)
✓ checking Rd contents ...
✓ checking for unstated dependencies in examples ...
✓ checking contents of ‘data’ directory ...
✓ checking data for non-ASCII characters ...
✓ checking data for ASCII and uncompressed saves ...
─ checking examples ... NONE
✓ checking for non-standard things in the check directory
✓ checking for detritus in the temp directory

See
‘/Users/kwangchunlee/swc/statdata.Rcheck/00check.log’
for details.

── R CMD check results ───────────────────────────────────── statdata 0.1.0 ────
Duration: 14.7s

checking for portable file names ... ERROR
Found the following files with non-portable file names:
inst/extdata/초등과학3-2그림자길이(136쪽).csv
inst/extdata/초등과학3-2우리나라해역오염실태자료(104쪽).csv
These are not valid file names on all R platforms.
Please rename the files and try again.
See section ‘Package structure’ in the ‘Writing R Extensions’ manual.
WARNING
Found the following files with non-portable file names:
inst/extdata/초등과학3-2그림자길이(136쪽).csv
inst/extdata/초등과학3-2우리나라해역오염실태자료(104쪽).csv
These are not fully portable file names.
See section ‘Package structure’ in the ‘Writing R Extensions’ manual.

checking for portable file names ... ERROR
Found the following files with non-portable file names:
inst/extdata/초등과학3-2그림자길이(136쪽).csv
inst/extdata/초등과학3-2우리나라해역오염실태자료(104쪽).csv
These are not valid file names on all R platforms.
Please rename the files and try again.
See section ‘Package structure’ in the ‘Writing R Extensions’ manual.
WARNING
Found the following files with non-portable file names:
inst/extdata/초등과학3-2그림자길이(136쪽).csv
inst/extdata/초등과학3-2우리나라해역오염실태자료(104쪽).csv
These are not fully portable file names.
See section ‘Package structure’ in the ‘Writing R Extensions’ manual.

1 error x | 1 warning x | 0 notes ✓
에러: R CMD check found ERRORs
실행이 정지되었습니다

Exited with status 1.

@choonghyunryu
Copy link
Contributor

이동중이라 테스트를 못했으나 파일 이름에 한글이나 괄호가 들어가서 문제가 발생한 것 같습니다. CRAN의 체크 조건이 까다로워서요.
예제 실행을 위해서 해당 파일명을 꼭 사용할 수 밖에 없다면, 유효한 이름으로 압축하시고, 패키지가 attach되는 타임에 압축을 풀어서 워킹 디렉토리에 복사해 놓으세요.

@statkclee
Copy link
Contributor Author

데이터 팩키지의 데이터셋 이름을 한글로 하지 않으면 아무래도 사용하기 불편하여 활용성이 많이 떨어질 듯 싶어 ... 한글명 데이터셋 부여 방침을 고수해야 할 드 싶습니다.

@choonghyunryu
Copy link
Contributor

CRAN에서 체크하는 것은,

  1. 파일 이름에 non-ASCII 문자 포함여부
  2. 소스 코드에 non-ASCII 문자 포함여부입니다.

다행히 도움말(man page)의 non-ASCII 체크가 없어서 위의 문제만 회피하면 될 것 같습니다만,
CRAN에 submit 후 human check에 어떻게 될지는 모르겠습니다.

2번의 소스 코드에 포함된 한글은 유니코드로 변환하면 문제가 해결됩니다. (stringi::stri_escape_unicode 함수 이용)

주의할 것은 Mac에서 생성한 한글포함된 파일의 이름은 눈으로는 정상이지만,
Linux와 Windows에서는 자음과 모음이 분리되므로 주의해야 합니다.

@statkclee
Copy link
Contributor Author

일단 CRAN에 제출하는 것이 최종 목표로 동의합니다. 하지만, 개발자체를 처음부터 CRAN 제출을 염두에 두면 개발 속도나 여러면에서 불리한 점이 많은 것으로 보입니다. 우선 statdata 명칭부터... ㅎㅎ 다행히 cran에는 팩키지명을 사용할 수 있네요... 이런 행운이~~~

다른 멘티분들 의견도 중요할 것으로 보입니다... 어제 윤화영님과 statdata 팩키지 윈도우에서 개발환경부터 세팅하며 여러 이슈가 발생된 것을 확인했습니다. 즉, 피씨냐 맥이냐 부터 시작해서 연관된 자음과 모음 분리 인코딩 문제 renv 팩키지 개념 도입 등... 초반이지만 엔지니어링해야 할 것이 한둘이 아닙니다.

인코딩문제는 eStat에 있는 모든 파일을 나눠 CSV 파일로 다운로드 받은 후에 구글 드라이브나 드롭박스 원드라이브 등으로 한번 세탁하면 해결되지 않을까 싶은데... 개인적으로 개발환경에 맞춰 작업방식을 최적화시키는데 ... 시간도 많이 소요될 듯 싶습니다.

@statkclee
Copy link
Contributor Author

한글 파일을 유니코드로 stringi::stri_escape_unicode 함수를 사용해서 변환시킬 경우 앞에 \, , 없는 세가지 경우가 존재하고 있습니다. 윈도우냐 맥이냐... 이유가 뭘까요?

  • inst/extdata/중등사회1사회적차별1(151쪽).csv
  • inst/extdata/u110c/u116e/u11bc/u1103/u1173/u11bc/u1109/u1161/u1112/u116c1/u1109/u1161/u1112/u116c/u110c/u1165/u11a8/u110e/u1161/u1107/u1167/u11af1(151/u110d/u1169/u11a8).csv
  • inst/extdata/\u110c\u116e\u11bc\u1103\u1173\u11bc\u1109\u1161\u1112\u116c1\u1109\u1161\u1112\u116c\u110c\u1165\u11a8\u110e\u1161\u1107\u1167\u11af1(151\u110d\u1169\u11a8).csv

@euriion
Copy link

euriion commented Aug 15, 2021

파일을 압축해서 공유해 주실 수 있는지요? Windows에서 해결 방법이 있는지 확인해 보려고 합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants