2012-09-13 6 views
0

내가 포함하는 모듈로 인해 경고 메시지가 나타납니다.nodejs 모듈에 경고 메시지가 있습니다.

나는 모듈을 좋아하지만 때마다 나는 그들의 기능, 콘솔 출력 전화 :

"Utf8String" type is deprecated, use "CString" instead 

내가 콘솔 응용 프로그램을 만드는 중이을, 그래서이 메시지를 surpress하는 것을 선호합니다.

+0

음 "모듈"은 무엇을 사용하고 있습니까? – Neal

+0

차이가 있습니까? 나는'execSync'를 사용하고 있습니다. –

답변

0

이 경우 필요한 모듈에 필요한 모듈이 있었는데이 모듈에는 Utf8String을 사용하고 오류가 발생하는 맞춤 코드가 있습니다.

// alias Utf8String 
var utfstringwarned = false 
Object.defineProperty(types, 'Utf8String', { 
    enumerable: false 
    , configurable: true 
    , get: function() { 
     if (!utfstringwarned) { 
     utfstringwarned = true 
     console.error('"Utf8String" type is deprecated, use "CString" instead') 
     } 
     return types.CString 
    } 
}) 

그리고 그래서 임시 해결책으로, 나는 오류 메시지를 주석 수도 있고, 좀 더 영구적 인 솔루션으로, 다른 모듈을 선택할 역사

0.0.20/2012-06-27 
=================== 

- rename the `Utf8String` type to `CString` (#5) 
- make `Utf8String` an alias to `CString` and deprecated 
- more work on docs (not yet ready) 

에 대해 썼다.

0

경고 메시지는 실제로 노드가 아닌 모듈에서 가져옵니다. 그러나 모듈은 이전 버전의 노드에서 사용 된 api를 호출하는 경고를 발생시킵니다.

어쨌든 노드에 콘솔에 기록 된 경고 메시지를 표시하지 않는다고 나는 생각하지 않습니다.

정말로 이러한 경고를 없애기 위해서는 모듈의 소스 코드로 가서 찾기 및 바꾸기가 가능합니다.

"Utf8String" to "CString" 

나는 다른 모듈에서 똑같은 것을했는데, 나는 그 메시지를 참을 수 없었다.

+0

그래서 ... 노드 (또는 내 패키지를 설치하는 사람)를 업그레이드하면 프로그램과 관련없는 잘못된 오류 메시지를 추가하여 모든 프로그램을 중단시킬 수 있습니다. 그것은 나에게 큰 문제처럼 보입니다. 나는 노드 경고를 부 풀릴 수있는 방법이 없다는 것에 놀랐다. 확실합니까? –

+0

예, 노드가 업그레이드 될 때 일부 API가 제거되거나 이름이 바뀝니다. 모듈 작성자가 새로운 API 노드로 전환하도록 유도하여 도움이되고 콘솔에 경고 메시지를 기록합니다. 나는이 메시지들을 억압 할 길이 없다고 확신하지만 100 %는 아니다. – saeed

+0

이 경고는 모듈에서 발생한 것으로 밝혀졌습니다. –

관련 문제