2017-03-15 2 views
0

리포지토리에서 사용해야하는 노드 버전을 검색하기위한 시행 착오 이외의 방법이 있습니까?프로젝트가 지원하는 노드 버전을 찾는 방법

웹 프레임 워크의 빠른 상승으로 6, 12 또는 24 개월 전의 프로젝트로 돌아갈 필요가 있습니다. 내가 지난 주에 많은 올바른 노드 버전을 검출 내 과정이 일을 봤는데되었다 :

git clone [REPO] 
npm i 
[build] 
### if error 
rm -r node_modules 
nvm use 4, 5 or 6 
npm i 
[build] 

내가 도울하지만 난 여기에 누락 아주 기본적인 무언가가 있다는 것을 느낄 수 있습니다. 지혜를 주셔서 감사합니다 나와 공유 할 수 있습니다!

답변

0

자신의 repos 인 경우 참조 용 패키지 json에 Node 버전을 저장할 수 있습니다.

"version": "1.0.0", 
"engines": { 
    "node": "7.x" 
}, 
"description": "..." 

이것은 자동으로 올바른 버전을 설정하지는 않지만 보게 될 것입니다.

+0

이것은 좋은 방법이며 dev ops tech (docker, kubernetes 등)와 함께 사용하면 매우 유용합니다.) 그러나 문제는 유용한 예제와 심지어 내부 프로젝트가있는 github의 많은 repos가 이렇게 지정된 노드 버전을 가지고 있지 않다는 것입니다. – coiso

0

다른 답변에서 언급했듯이 일부 패키지의 engines 필드는 package.json입니다. npm은 패키지에서 지원하지 않는 Node.js 버전에 패키지를 설치하려고하면 사용자에게 경고합니다. engines 필드는 다음과 같습니다

{ 
    "engines": { 
    "node": ">=4.0.0" 
    } 
} 

상세 정보 : https://docs.npmjs.com/files/package.json#engines


는 또한, 많은 패키지가 TravisCI처럼 자동으로 패키지를 테스트하기 위해 설정하는 CI있다. 이 CI 설정 파일에는 종종 테스트 할 Node.js 버전 목록이 포함되어 있습니다. 일반적으로 CI 구성의 가장 낮은 버전 번호는 패키지에서 지원하는 최소 버전입니다.

공통 구성 파일 이름은 .travis.yml, appveyor.yml, circle.yml이다 등

예 :

.travis.yml :

language: node_js 
node_js: 
    - "4" 
    - "5" 
    - "6" 
    - "7" 

이 설정은 패키지가 아마 Node.js를의 V4 +

을 지원하는 것을 의미한다
관련 문제