2014-12-23 2 views
1

설치가 성공하더라도 잘못된 패키지가 설치됩니다. BTW,이 질문은 대답 관련이있다 - question about versioning시험판 출시로 인해 노드 응용 프로그램이 실행되지 않습니다.

npm install serialport 

이 종속성 트리에까지 붙어 패키지가 있습니다.

npm ERR! invalid: [email protected] /Users/snorre edwin/Code/raspberry-node-server/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream 
npm ERR! invalid: [email protected] /Users/snorre edwin/Code/raspberry-node-server/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/string_decoder 

이 내 브라우저에서이 오류의 원인이 끝이 NPM 문제에 정렬 할 수있는 방법이

Uncaught TypeError: Cannot read property '_ansicursor' of undefined 

있습니까? 이 시험판 패키지를 피할 수 있습니까?

답변

0

아래 github answere는 npm에 대한 많은 통찰력을 주었고 나는 그 문제에 대해 다른 곳을 파해야만한다고 생각했습니다. 하지만 실제로 serialport가 browserify와 함께 더 이상 잘 작동하지 않는 것 같았습니다. 그것은 2 개월 동안 사용했기 때문에 일하는 것이었지만, 뭔가 바뀌 었습니다. 메신저를 크게 말하면 어쨌든 어리석은 소리가납니다. 그래서 직렬 포트를 브라우저하지 마십시오.

4 @ semver의 시험판 버전을 취급의 변화가 주요 버전 범프의 주요 동기 부여 중 하나입니다

나는 내가 궁금 할 나머지 부분과 공유 할 것이라고 생각 GitHub의, issue answere에 answere을 받았다 ~ npm2. npm 2의 모든 버전은이 변경의 영향을받으며 간단히 말해서 버전 문자열의 오른쪽에있는 모든 버전 정보가 semver 범위 일치를 수행 할 때 무시됩니다. npm @ 1에서 npm @ 2로 업그레이드 할 때 npm -g ls를 실행할 때 약간의 비정상적인 현상이 나타나고 일부 패키지는 bundledDependencies를 사용하여 자체 포함 된 설치로 배포되기 때문에 정상적으로 나올 수 있습니다 npm @ 2의 규칙과 일치하지 않는 상태의 패키지.

이 방법은 항상 작동하지 않지만 이러한 문제를 해결하는 가장 쉬운 방법은 영향을받는 패키지를 제거한 다음 다시 설치하는 것입니다. bundledDependencies와 함께 제공되는 패키지의 경우 모든 것을 정리하고 싶다면 시끄러운 사전 릴리스 종속성 버전으로 패키지 버전이 포함 된 node_modules 폴더로 cd하고 npm install problemDependency를 실행하면 최신 버전이 사용됩니다 특정 패키지의 semver 범위와 일치하는 종속성

재 : 두 번째 질문은, semver 범위 검사는하지 어휘, 그래서 1.0.31 @ 2 NPM과 일치해야합니다, 의미 적으로 이루어집니다 : '~ 1.0.2'

퍼센트을 -r semver 1.0.26 1.0. 27-1 1.0.31 1.0.26 1.0.31 표시되는 동작은 패키지 tarball에 포함 된 번들 된 종속성 때문인 것으로 생각됩니다.

이 모든 내용이 문서화되어 있으므로이 문제를 마무리하겠습니다. 나는 이것이 당신을 위해 물건을 깨끗이하기를 바란다!

관련 문제