npm package.json에서 devDependencies에서 종속성으로 모듈 이동


154

에서 모듈을 이동하는 짧은 명령 거기 devDependenciesdependenciespackage.json에가?

나는 항상 이것을하고있다 :

npm uninstall <module_name> --save-dev 
npm install <module_name> --save

이것에 대한 더 짧은 접근법이 있습니까?

답변:


191

예! 모듈을에서로 이동 devDependencies하려면 dependencies:

npm install <module_name> --save-prod


182

반대를하고 싶다면 (즉, 모듈을에서 dependencies로 이동 devDependencies) 다음을 수행하십시오.

npm install <module_name> --save-dev

또는 속기 :

npm i <module_name> -D

이동할 줄임 devDependenciesdependencies(자극) :

npm i <module_name> -P

5
나를 위해 일, v5.6
Legends

1
속기 npm i module-example -D는 또한 제품에서 개발자 npm i module-example -P로 이동하고 개발에서 제품 종속성으로 이동 하기 위해 노력할 것입니다.
Andriy

@ 앤디 감사합니다, 그것에 대해 생각하지 않았다. 답변을 업데이트합니다!
Sid

대신 원사를 사용하는 경우 먼저 종속성에서 실을 제거한 yarn remove <module_name>다음 devDependencies에 다시 추가해야합니다.yarn add <module_name> --dev
Eugenio

16

원사에서 :

모듈을에서 devDependencies로 이동 dependencies:

yarn remove <module_name> --dev && yarn add <module_name> 

모듈을에서 dependencies로 이동 devDependencies:

yarn remove <module_name> && yarn add <module_name> --dev

주석에서 언급했듯이 명령은 실제로 모듈을 삭제하고 새 위치에 다시 설치합니다.


1
이것이 정말로 옳습니까? 에서 일 이동 원사 방법이 없습니다 dependencies로를 devDependencies제거하고 다시 추가하지 않고는?
LondonRob

@LondonRob 그것이 내가 찾은 유일한 방법입니다
yohaiz

21
이것은 움직이지 않습니다. 이것은 단순히 패키지를 삭제하고 다시 설치하는 것입니다
Thanveer Shah

@seeker_of_bacon 백그라운드에서 아무것도 실행되고 있지 않습니다. &&와 혼동 될 수 있습니다 &.
rudolfbyker

3

프로젝트에 아직 lockfile 또는 shrinkwrap 파일이없는 경우 간단히 해당 행을에서 이동할 수 있습니다 package.json.

(잠금 파일을 사용하지 않는 것이 좋습니다)


3

사용 npm또는 yarn명령 의 문제점 은 다시 추가 된 버전이 현재 사용중인 버전과 다른 버전 일 가능성이 있다는 것입니다. 이것이 당신이 원하는 것이라면 ( 이동과 업그레이드 모두) 계속해서 받아 들여진 대답을 사용하십시오.

그렇지 않은 경우 간단히 수동으로 편집하여package.json 선을 devDependencies오브젝트 에서 오브젝트로 이동하십시오 dependencies(필요한 경우 작성). 다른 방향으로도 갈 수 있습니다.

잠금 파일은 제품이 생산 또는 개발 의존성인지에 대한 정보를 보유하지 않으므로 업데이트 할 필요가 없습니다. 나중에 npm/ 를 수행 yarn install하여 잠금 파일의 플래그를 수정할 수 있습니다.


dependencies최상위 섹션 이 하나 뿐이지 만 package-lock.json각 항목에는 잠재적 dev으로 개발자 의존성인지 전 이적 의존성인지를 나타내는 플래그가 있습니다. docs.npmjs.com/files/package-lock.json#dev를 참조하십시오. [[dev is] true 인 경우이 종속성은 최상위 모듈의 개발 종속성 또는 전이 종속성 중 하나입니다. "최상위의 개발 의존성과 최상위의 비 개발 의존성에 대한 전이 의존성"
rob3c

0

npm install을 사용하는 문제는 업데이트 된 버전으로 끝나는 것입니다. 나를 위해 일한 것은 다음과 같습니다.

  1. 원하는 부분 (dev 또는 prod)으로 이동
  2. node_modules 폴더 에서 제거
  3. 실행 npm install

모든 버전을 그대로 유지했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.