eslint는 내 PC 만 사랑 했습니까?

내 리더: Thang, 우리 앱에 eslint를 설정하자.

나: 네, 바로 할게요.

그런 다음 리더가 말했듯이 프로젝트를 위해 eslint를 구성했습니다. 이 작업을 수행하는 동안 여러분과 공유하고 싶은 흥미로운 문제에 직면했습니다.

문제



내 프로젝트는 반응 앱이며 eslint-plugin-react 코드를 린트하려면 React가 필요합니다. 재미있다고 생각한 것이 두 가지 있습니다.
  • 아직 eslint를 설치하지 않았습니다. eslint-plugin-react만 설치합니다. 하지만 내 node_modules에는 eslint 가 있었습니다.
  • 제 동료들도 저처럼 설치했습니다. 그러나 그들의 node_modules에는 eslint가 전혀 없었습니다.



  • 왜 그럴까요? 나는 무슨 일이 일어났는지 몰랐다. 🥲

    알아내다



    처음에는 어리둥절해서 아무 생각 없이 멍청한 짓을 했어요 😂.

    내가 한 몇 가지 방법:
  • 다른 구성원의 node_modules , package-lock.json를 제거합니다.
  • 모든 구성원의 PC에서 이 문제를 테스트해보세요😌.
  • PC를 ​​다시 시작해 봅니다. What are you thinking? Thang.

  • 흠, 위의 방법은 없습니다. 그때 생각 없이 문제를 푸는 것이 얼마나 위험한 일인지 깨달았다. 나는 많은 시간을 낭비했고 목표를 달성하지 못했습니다.

    탕, 침착해. 문제를 생각해보자!
    PC에 eslint가 설치되어 있는 이유는 무엇입니까?
    eslint-plugin-react에 이에 대한 구성이 있습니까?
    eslint-plugin-react 모듈을 살펴봐야 할까요?

    이 문제를 해결하는 데 도움이 되는 방법을 찾기 위해 스스로에게 질문했습니다.
    package.jsoneslint-plugin-react를 한 눈에 보았을 때 구성이 있는 것을 보았습니다.

    "peerDependencies": {
        "eslint": "^3 || ^4 || ^5 || ^6 || ^7"
     }
    




    아, eslint 가 있습니다. 잠시만요 peerDependencies 입니다. 음, peerDependencies에 선언된 eslint-plugin-reacteslint의 호환성을 위한 설정입니다. 따라서 eslint-plugin-react를 설치하면 eslint도 호스팅됩니다.

    좋아, 나는 조금 이해했다. 하지만 Why does only my PC has eslint? . 조금 읽고 npm Docs 이것을 보았다.



    아마도 문제는 npm 버전일 것입니다.

    즉시 모든 멤버의 npm 버전을 확인했습니다. 우와! 그들의 npm 버전은 7보다 작으며 peerDependencies가 사라집니다. 그런 다음 버전을 v7로 업데이트하려고 시도했으며 물론 모든 것이 제대로 작동합니다.

    좋은 웹페이지 즐겨찾기