2014-01-20 4 views
0

다른 컴퓨터에서 다른 결과를 제공합니다.내가 NPM에 다른 결과가 다른 컴퓨터에 설치 생성하는 노드 프로젝트를

이 프로젝트는에서 확인할 수있다 : 내 컴퓨터에 https://github.com/guy-mograbi-at-gigaspaces/gs-ui-ks

, NPM은 오류없이 완료됩니다. 내 세부 사항은 다음과 같습니다 다른 팀 구성원의 컴퓨터에서

- node 0.10.7 
- npm 1.3.9 

는 다음과 같은 오류가 발생합니다 :

npm ERR! peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements! 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.9.4 || ~0.10 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9.3 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.9 

npm ERR! System Windows_NT 6.1.7601 
npm ERR! command "c:\\Program Files (x86)\\nodejs\\node.exe" "c:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" 
npm ERR! cwd c:\buildserver\buildagent\workspace\root\ui\build-node-project\build-ks 
npm ERR! node -v v0.10.15 
npm ERR! npm -v 1.3.24 
npm ERR! code EPEERINVALID 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  c:\buildserver\buildagent\workspace\root\ui\build-node-project\build-ks\npm-debug.log 
npm ERR! not ok code 0 

우리 모두는 윈도우 7이 나는 문 it works on my machine를 방지하고 싶습니다. 왜 이런 일이 일어나고 앞으로 어떻게 피할 수 있습니까?

편집 :

참고

이 -이 문제를 해결하기 위해 우리는 모든 종속성에 "*"(최신 버전) 변경했습니다. 그러나 장래의 휴식과 불사섭을 피하기 위해 차이점의 맨 아래로 들어가고 싶습니다. 좋아

+1

특정 종속 바이너리가있는 npm 모듈이 있습니까? 아니면 그의 길은 너와 다르니? – throrin19

+0

우리가 알고있는 특별한 것은 없습니다. 우리는 무엇을 검사해야합니까? –

+0

다른 버전의'node'와'npm'이있는 것처럼 보입니다 –

답변

0

는 문제가 카르마와 함께입니다.

Sorry, I know this sucks and it's a confusing error. We need to fix this in NPM.

In the meantime, just remove all the modules (rm -rf /usr/local/lib/node_modules/karma-*) and install Karma again.

출처 : throrin19 @https://github.com/karma-runner/karma/issues/716

+0

환경의 차이에 대한 귀하의 설명은 이전 카르마 설치입니까? –

+0

내 의견은이 응답보다 오래되었습니다. – throrin19

0

는 즉각적인 대답은 -rf node_modules/karma-을 RM은하는 것입니다 정확 * 구글, 나는 당신의 오류 메시지를 시도하고, 첫 번째 결과에서, 나는이 발견 이 경우 다시 설치하십시오.

당신은 또한 환경의 차이는 이전 카르마 설치입니다 정확합니다.

는 오늘 매우 비슷한 문제를 디버깅 배운 :

  • NPM (1.3.17) 설치된 버전은 아직 package.json에 지정된 버전을 만족하는 경우에 이미 설치되어있는 종속성을 설치하려고하지 않을 것이다
  • NPM은 물론, 가서 최근에 추가 된 종속성을 찾기 위해 노력할 것입니다

즉 지역 NPM의 REPOS은에 대한 높은 의존 REPO의 정확한 내용과 시간 기이에 매우 취약 때 인구 그 REPO, 의존성 버전을 지정하는 방법을 엄격하게, 우리가에 대한 카르마를 사용하고 의존성의 변화율, 내 경우

의미 버전

당신의 depdendency-테이너의 개념의 엄격함,

  1. 나는 지점에 package.json하는 기능에서 작업하는 동료가 카르마 - 모카^0.1.3 추가
  2. -rf'd node_modules을 RM은 오래 전에 시간이 내 시스템에 0.10.9와 함께, ~ 0.10.8을 현재 사용하고 주 전 이었지만 karma-mocha 0.1.4로 업데이트 할 수 있습니다. 불행하게도 카르마 모카 0.1.4는 카르마 ~ 0.12.0에 의존하기 때문에 현재 작동하지 않습니다. 현재 0.12.8로 결정됩니다.

그 기능이 병합 된 후 오늘 많은 디버깅이 발생했습니다. 내 컴퓨터.

우리가 사용하고있는 솔루션입니다 :

  1. 잠금 다운 의존성 버전, 특히 중요한 경우; semver는 훌륭하지만 모두 Java 생태계에서 SNAPSHOT을 다루는 것은 semver가 규모를 조정하지 못할 수도 있음을 나타냅니다.
  2. 위생적인 ​​환경에서 중요한 빌드를 수행하는 도구를 node_modules와 같은 캐시를 삭제하는 옵션을 포함합니다. 이러한 도구는 자주 실행되므로 문제를 신속하게 발견 할 수 있습니다.
관련 문제