npm WARN notsup 건너 뛰기 선택적 종속성 : fsevents@1.0.14에 대해 지원되지 않는 플랫폼


113

내 미니 매치 버전을 3.10.9로 업데이트 한 후이 프로젝트 https://github.com/Soundnode/soundnode-app 을 실행하려고하는데 ,이 오류가 발생했습니다.

npm WARN 선택 사항 건너 뛰기 선택적 종속성 : fsevents@^1.0.0 (node_modules \ webpack \ node_modules \ watchpack \ node_modules \ chokidar \ node_modules \ fsevents) : npm WARN notsup 건너 뛰기 선택 사항 종속성 : fsevents@1.0.14 용 지원되지 않는 플랫폼 : { " os ":"darwin ","arch ":"any "} (현재 : {"os ":"win32 ","arch ":"ia32 "})

내 구성은 Node v-4.4.2 npm v- 3.10.9 im은 32 비트 Windows OS에서 작동합니다.


1
나에게 오류처럼 들리지 않습니까? 이것에도 불구하고 코드를 실행하는 데 문제가 있습니까? npm WARN주의를 기울일만한 가치가 있지만 실제로는 아무것도 깨지 않은 경고입니다.
— Aurora0001

2
그리고이 특정 경고는 플랫폼이 요구 사항과 일치하지 않기 때문에 선택적 종속성이 설치되지 않았 음을 나타냅니다. 이 경우에는 darwin을 찾고 있고 당신은 win32
— Dave V

"npm install -g grunt-cli"명령을 실행 한 후이 경고가 표시되면 npm install을 실행하려고합니다.
— Aishwary Tiwari

1
@AishwaryTiwari, 실제로 오류가 발생 했습니까? 아니면 코드가 작동하지 않습니까? (오류 메시지에서 알 수 있듯이) 선택적 종속성을 건너 뛰었 기 때문에 경고는 실제 문제가되지 않을 것입니다.
— Aurora0001

1
문제를 해결하는 풀 요청이 있습니다 : github.com/npm/npm/pull/19198 해당 풀 요청을 구독 할 수 있으므로 종료 될 때 업데이트를받을 수 있습니다.
— RiZKiT

답변:


150

오류가 아니라 경고입니다. 이는 fsevents프로젝트가 macOS 환경에서 실행될 때만 사용되는 선택적 종속성 이기 때문에 발생 합니다 (패키지는 'Mac OS-X FSEvents에 대한 기본 액세스'를 제공합니다).

그리고 Windows에서 프로젝트를 실행하고 있기 때문에 fsevents관련성이없는 것으로 건너 뜁니다.

이 동작을 수정하는 PR이 있습니다 : https://github.com/npm/cli/pull/169


35
선택적이고 의존적 인 것 자체가 모순되지 않습니까?
— Martijn Burger

7
그것은 이론적 인 질문에 가깝습니다. 어쩌면 conditional dependency더 좋을까요? 이름 지정은 어렵습니다. 간결하게 유지하면서이 사건에 대한 좋은 이름을 찾는 것이 쉽지 않은 것 같습니다.
— piotr.d

10
npm install --no-optional
— suiwenfeng

5
전적으로 동의합니다, @DemPilafian. 따라서 원래 응답을 편집하고 "only"를 제거했습니다. 나는 개인적으로 경고를 오류처럼 취급하지만,이 경우 IMHO, 이것은 경고로 기록되는 것이 아니라 오히려 정보로 기록되어야합니다. Windows 환경에서는 경고를 없애기 위해 아무것도 할 수 없기 때문입니다.
— piotr.d

23
좋은 대답입니다. 이제 어떻게 제거합니까?
— TetraDev

32

이는 여전히 문제인 것으로 보이며 "지원되지 않는 플랫폼"으로 인해 선택 패키지가 설치되지 않는다는 경고와 함께 패키지 설치가 중단됩니다.

문제는 "shrinkwrap"또는 package-lock.json모든 패키지 관리자 실행 후 지속되는 것과 관련이 있습니다 . 이 파일이 대신 참조되므로 후속 시도는 계속 실패합니다 package.json.

이 옵션을 npm install명령에 추가 하면 패키지를 다시 설치할 수 있습니다.

   --no-optional argument will prevent optional dependencies from being installed.

   --no-shrinkwrap argument, which will ignore an available package lock or
                   shrinkwrap file and use the package.json instead.

   --no-package-lock argument will prevent npm from creating a package-lock.json file.

완전한 명령은 다음과 같습니다.

    npm install --no-optional --no-shrinkwrap --no-package-lock

nJoy!


1
--no-optional경고를 제거하기 위해 작동하는 코드에 대해 -flag 를 설정하는 것이 위험 합니까? 기본적으로 설정되지 않은 이유는 무엇입니까?
— cederlof

5
package-lock.json을 사용하는 것이 좋은 것이고이 솔루션은 그 반대를 제안하기 때문에 이것은 해결책이 될 수 없습니다.
— ismailarilik 19.01.18

@ismailarilik이 솔루션을 사용하면 작업을 계속할 수 있도록 패키지를 설치할 수 있습니다.
— nickl-

"-선택 사항 없음"은 정말, 정말 나쁜 생각입니다. 일반적으로 경고를 무시해도됩니다. 다음을 사용할 수도 있습니다 npm install -f. github.com/angular/angular/issues/13935
— FoggyDay

12

매개 변수 --force 사용 :

npm i -f

2
이 명령으로 한 번 강제로 설치를했는데 이제 시작할 때 npm install경고가 표시되지 않습니다.
— Allenile 19.

1
해당 명령을 실행하는 동안 오류가 발생했지만 npm 설치를 다시 실행하면 경고가 사라졌습니다! 선생님 감사합니다
— ccoutinho

그래서 당신은 경고를 얻기 위해 쓸모없는 의존성을 (Windows 머신에) 프로젝트에 설치하고 있습니까? 그렇다면 생산 건물에서 나무를 흔들어 없애기를 바랍니다. 해결 방법이 마음에 듭니다. 내 화면에서 사과 관련 항목을 제거합니다.
— Josep Alacid
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.