【해결】nuxt로 yarn을 하면 「gyp: No Xcode or CLT version detected!」에러가 발생

추가



본 기사로 해결할 수 없다고 코멘트 받았습니다.
@isacRU 님이 해결 방법을 공유 했으므로 그 쪽도 참고해 주시면 기쁩니다.

환경


  • macOS Catalina 10.15.3 (zsh)
  • node.js v10.15.2
  • yarn 1.21.1
  • vue/cli 4.1.1

  • 사건



    nuxt + typescript + vuetify 환경을 만들려면 다음 템플릿을 사용했습니다.
    htps : // 기주 b. 이 m / no xt - 딱히 ty / ty psc pt - mp

    그래서 yarn 명령을 실행하면 다음 오류가 발생하여 성공적으로 시작할 수 없습니다.
    gyp: No Xcode or CLT version detected!
    gyp ERR! configure error 
    gyp ERR! stack Error: `gyp` failed with exit code: 1
    gyp ERR! stack     at ChildProcess.onCpExit (/Users/dmorita/.nodebrew/node/v10.15.2/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
    gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
    gyp ERR! System Darwin 19.3.0
    gyp ERR! command \"/Users/dmorita/.nodebrew/node/v10.15.2/bin/node\" \"/Users/dmorita/.nodebrew/node/v10.15.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
    gyp ERR! cwd /Users/projects/XXXX/client/node_modules/watchpack/node_modules/fsevents
    gyp ERR! node -v v10.15.2
    success Saved lockfile.
    ✨  Done in 156.15s.
    

    yarn으로서는, Xcode를 찾을 수 없을 뿐이므로 success가 되어 버립니다만, yarn이나 npm 근처에 여러가지 불편이 일어나므로 해소하고 싶습니다.
    제 경우에는 아래 2 단계로 해결했습니다.

    Step1



    우선, 에러 내용 「No Xcode or CLT version detected!」대로 Xcode와 CLT를 확인
    % xcode-select --install
    xcode-select: error: command line tools are already installed, use "Software Update" to install updates
    

    물론 설치되어 있으면.
    제 경우에는 Catalina로 업데이트 한 후 많은 문제가있었습니다.
    여기를 참고로 재설치했습니다.
    htps : // 기주 b. 이 m / 때문에 js / 때문에 - gyp / b ぉ b / 마s r / 마코 S_ 따뜻한. md # ぢ ぢ ぇ

    Step2



    그런 다음 위의 템플릿에서 다시 yarn 명령을 두드리면 다음 오류가 발생했습니다.
    xcrun: error: active developer path (\"/Applications/Xcode.app/Contents/Developer\") does not exist
    Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools.
    See `man xcode-select` for more details.
    gyp ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 1
    gyp ERR! stack     at ChildProcess.onExit (/Users/dmorita/.nodebrew/node/v10.15.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
    gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
    gyp ERR! System Darwin 19.3.0
    gyp ERR! command \"/Users/dmorita/.nodebrew/node/v10.15.2/bin/node\" \"/Users/dmorita/.nodebrew/node/v10.15.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
    gyp ERR! cwd /Users/projects/XXXX/client/node_modules/watchpack/node_modules/fsevents
    gyp ERR! node -v v10.15.2
    success Saved lockfile.
    ✨  Done in 150.93s.
    

    그래? 경로가 존재하지 않는다고?
    그래? CLT의 패스가 아니라 Xcode의 패스라고?
    되어 확인한 곳
    % xcode-select -print-path                    
    /Applications/Xcode.app/Contents/Developer
    

    CLT가 참조하는 것이 Xcode.app의 개발자였습니다.
    이 원인의 추측으로서는, 과거에 Xcode.app→CLT의 순서로 인스톨을 실시했기 때문에 Xcode.app가 먼저 결정되고 있었던 것이라고 생각합니다.

    여기를 참고로 참조처의 패스를 CLT로 변경했습니다.
    h tps : // s c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 17980759 / x 코데 - ぇ ct - 아 c ゔ ぇ - ゔ ぇ ぺ ぺ r ぢ 레 c와 ry 에로 r
    % sudo xcode-select -switch /Library/Developer/CommandLineTools
    

    이상



    이 상태에서 다시 yarn 명령을 두드리면
    % yarn
    yarn install v1.21.1
    info No lockfile found.
    [1/4] 🔍  Resolving packages...
    warning nuxt > @nuxt/webpack > @nuxt/babel-preset-app > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
    [2/4] 🚚  Fetching packages...
    [3/4] 🔗  Linking dependencies...
    warning " > [email protected]" has unmet peer dependency "vue@^2.5.0".
    warning " > [email protected]" has unmet peer dependency "vuex@^3.0.0".
    warning " > [email protected]" has unmet peer dependency "vue-class-component@^6.0.0 || ^7.0.0".
    [4/4] 🔨  Building fresh packages...
    success Saved lockfile.
    ✨  Done in 150.13s.
    

    그리고 성공적으로 완료되었습니다.
    Catalina가 되어 Node.js 주위에서 고통받는 분의 고민을 해소할 수 있으면 다행입니다 👏

    좋은 웹페이지 즐겨찾기