2016-08-08 2 views
2

나는 빌드 스크립트를 쓰고 있어요 그리고 같은 명령을 실행합니다 :npm 패키지를 아직 설치하지 않은 경우에만 전역으로 설치하는 방법은 무엇입니까?

  • npm install bower -g
  • npm install gulp -g

이미있는 경우에도 내 컴퓨터에서 30 ~ 60 초 정도 걸립니다 이러한 패키지를 설치 설치 (예 : 빌드 스크립트의 이전 실행에서 설치).

것은 내가 이물 또는 꿀꺽가 이미 설치되어있는 경우 감지하고이 경우 빌드시 시간을 절약하기 위해 설치를 건너 뛸 수있는 방법이 될 수있다 생각했다.

가능한가요? 내가 어떻게 그럴 수 있니? 나는 Windows와 PowerShell을 사용하고 있습니다,하지만 떠들썩한 파티에 몇 가지 솔루션은 윈도우에 포트에 수도있을 생각

...

+0

질문에 대한 직접적인 대답은 아니지만 버전 일치 여부를 확인하려는 경우가 아니면 컴퓨터에 이미있는 경우 30-60 초가 걸릴 수 없습니다. package.json과 bower.json의 버전을 명시하고 있다면, 새로운 버전이 있는지 알아보기 위해 레지스트리를 치는 데 시간이 걸릴 필요가 없습니다. – Paul

+0

@Paul : 답변 해 주셔서 감사합니다. 나는 package.json이 글로벌 인스톨에 사용되지 않는다고 생각했다. 나는 실제로 내 포장재에 열매를 맺은 적이 없다고 생각합니다 .Json file. 또한이 모든 npm 설치 이후 bower.json이 관련이 없습니다 ... –

+0

좋아, 내가 완전히 misreading, 감사합니다. 따라서 .json 파일이 전역 설치에 사용되지 않는 것이 옳습니다. 죄송합니다. 즉, 내 의견은 설치 프로그램을 실행중인 명령에서 특정 버전을 사용하는 것입니다. – Paul

답변

2

Win7에 +에서 당신은 사용할 수 있습니다 where <command> 예를 들어,

@echo off 
where gulp > nul 
if %ERRORLEVEL% GEQ 1 (npm i gulp -g) else (echo Gulp already installed) 
+0

감사합니다. 꽤 잘 작동합니다. PowerShell을 사용할 때'Get-Command' 옵션을 사용할 수도 있습니다. –