How can I get npm start at a different directory?
node.jsnode.js Problem Overview
I usually cd
into the app directory and then run npm start
.
It is my feeling that there ought to be some way to run npm start
with a path parameter. But, the npm start documentation contains no such feature.
I tried myself only to find npm start ./myapp
does not work. Is there a way to do that?
node.js Solutions
Solution 1 - node.js
Solution 2 - node.js
Below Command where project
is a folder which contains package.json
file
npm run --prefix project ${COMMAND}
is working as well. Useful in Docker based applications.
Solution 3 - node.js
I came here from google so it might be relevant to others:
for yarn
you could use:
yarn --cwd /path/to/your/app run start
Solution 4 - node.js
npm start --prefix path/to/your/app
& inside package.json add the following script
"scripts": {
"preinstall":"cd $(pwd)"
}
Solution 5 - node.js
This one-liner should work too:
(cd /path/to/your/app && npm start)
Note that the current directory will be changed to /path/to/your/app after executing this command. To preserve the working directory:
(cd /path/to/your/app && npm start && cd -)
I used this solution because a program configuration file I was editing back then didn't support specifying command line arguments.
Solution 6 - node.js
Per this npm issue list, one work around could be done through npm config
name: 'foo'
config: { path: "baz" },
scripts: { start: "node ./$npm_package_config_path" }
Under windows, the scripts
could be { start: "node ./%npm_package_config_path%" }
Then run the command line as below
npm start --foo:path=myapp