다른 디렉토리에서 npm을 시작하려면 어떻게해야합니까?


292

나는 보통 cdapp 디렉토리에 들어가서을 실행한다 npm start.

npm start경로 매개 변수 로 실행할 수있는 방법이 있어야한다고 생각합니다 . 그러나 npm start 문서 에는 그러한 기능이 없습니다.

나는 npm start ./myapp작동하지 않는 것을 찾기 위해 나 자신을 시도했다 . 그렇게 할 수있는 방법이 있습니까?

답변:


473

이 하나의 라이너는 작동해야합니다.

npm start --prefix path/to/your/app

해당 문서


18
작동하지 않는. 현재 디렉토리에서 package.json을 찾으려고합니다.
Shashwat Kumar

@ShashwatKumar이 작업을 수행하는 효과적인 방법을 찾은 적이 있습니까?
Juicy

3
난 그냥을 갖는 폴더에이 명령을 실행하는 테스트 package.json뿐만 아니라, 및 NPM 제대로 따라 path/to/your/app권리를 찾기 위해 package.json. 어떤 버전의 npm을 사용하고 있습니까?
Amaury Liet

3
노드 10.x 및 npm 6.9.0으로 macOS10.14.x에서 실행하면 하나의 라이너가 완벽하게 작동했습니다. 감사합니다.
Tod

3
--prefix여기에 대한 문서 : docs.npmjs.com/misc/config#prefix
lealceldeiro

88

명령 아래 projectpackage.json파일 이 들어있는 폴더가 있습니다.

npm run --prefix project ${COMMAND}

잘 작동하고 있습니다. Docker 기반 응용 프로그램에 유용합니다.


21

npm start --prefix path/to/your/app

& package.json 안에 다음 스크립트를 추가하십시오.

"scripts": {
   "preinstall":"cd $(pwd)"
}

6
사전 설치 스크립트의 기능을 설명 할 수 있습니까?
junvar

이것은 크로스 플랫폼이 아닙니다. 유닉스에서만 작동하며 Windows와 같은 홀수 볼에서는 작동하지 않습니다.
Jack Giffin

18

나는 구글에서 왔기 때문에 다른 사람들과 관련 yarn이있을 수 있습니다.

yarn --cwd /path/to/your/app run start 

6

이 하나의 라이너도 작동해야합니다.

(cd /path/to/your/app && npm start)

이 명령을 실행하면 현재 디렉토리가 / path / to / your / app로 변경됩니다. 작업 디렉토리를 유지하려면 다음을 수행하십시오.

(cd /path/to/your/app && npm start && cd -)

내가 편집하고 있던 프로그램 구성 파일이 명령 줄 인수 지정을 지원하지 않았기 때문에이 솔루션을 사용했습니다.


2
"-1"버튼을 사용할 때 방문자가 "왜 그것이 좋지 않은지"에 대한 힌트를 얻을 수 있도록 코멘트를 추가하십시오.
Cyril CHAPON

6
나는 공감하지 않았다. 그러나 나는 부작용으로 인해 하향 조정되었다고 생각합니다. 해결책은 순수하지 않으며 현재 디렉토리를 변경합니다.
Vladimir Serykh

이것은 실제로 매우 일반적인 솔루션이며, 언급 된 부작용을 피하기 위해 괄호를 추가하는 것이 유일한 개선입니다. 그러나 위의 솔루션은 순전히 NPM에 의존하기 때문에 내 의견에 더 좋습니다.
Rafał Wrzeszcz

cd -끝에 부작용을 제거하기 위해 추가 할 수 있습니다 .
babca

@babca가 npm start실패 하지 않으면 ... 여러 문장으로 나누어야합니다
Andreas

2

npm 문제 목록 에 따라 npm 구성을 통해 한 가지 해결 방법을 수행 할 수 있습니다

name: 'foo'
config: { path: "baz" },
scripts: { start: "node ./$npm_package_config_path" }

창 아래가 scripts될 수있다{ start: "node ./%npm_package_config_path%" }

그런 다음 아래와 같이 명령 행을 실행하십시오.

npm start --foo:path=myapp

다운로드 한 패키지에 어떤 스크립트를 사용할 수 있습니까? 다운로드 한 npm 패키지
Hardik Rana에서
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.