I'm adding dependencies to a package.json that will be used as part of a provisioning process for a virtual machine. As such, I don't actually need to install the modules locally since the provisioner will do that for me inside the VM. So is there any way to do the following:
npm install --save <module> So that it only creates a dependency for the latest version of the module in package.json without actually downloading the module or creating a node_modules folder?
The --dry-run option is close, as it doesn't create a node_modules folder but it also doesn't write to package.json either.
For now, I'm manually doing the following each time I need to update packages before re-provisioning the VM:
rm -rf node_modules Other reasons for this might include being able to easily build a package.json file in low-bandwidth situations such as tethering, where you know you'll need the module eventually but don't want to spare the bandwidth.
To add dependencies and devDependencies to a package. json file from the command line, you can install them in the root directory of your package using the --save-prod flag for dependencies (the default behavior of npm install ) or the --save-dev flag for devDependencies.
For npm install specific version, use npm install [package-name]@[version-number]. Use npm view [package-name] version to know the specific latest version of a package available on the npm registry. Use npm list [package-name] to know the specific latest version of an installed package.
By default, npm install will install all modules listed as dependencies in package. json .
json, you can re-run npm init -y and the repository field will be added automatically to your package. json.
Was searching for the solution. Haven't found, then made a script which adds dependencies (latest or specified versions) to the package.json file skipping the installation process.
https://www.npmjs.com/package/add-dependencies
If not using with npx (see below):
$ npm install add-dependencies [-g] Run:
$ add-dependencies [package_file] <dependencies> [target] [--no-overwrite] or with npx:
$ npx add-dependencies [package_file] <dependencies> [target] [--no-overwrite] where dependencies is the list of dependencies divided by space, and target is one of the following:
--dev / --save-dev / -D for devDependencies --peer / --save-peer / -P for peerDependencies --optional / --save-optional / -O for optionalDependencies If no target argument passed, dependencies are written to dependencies.
If no package_file argument passed, the script searches for a package.json file within the current working directory.
Use --no-overwrite flag to prevent already existing packages in package.json from being overwritten.
Example:
$ add-dependencies /home/user/project/package.json [email protected] [email protected] redux eslint --dev or with npx:
$ npx add-dependencies /home/user/project/package.json [email protected] [email protected] redux eslint --dev Hope this could help someone else.
There is no way to do that with npm that I'm aware of.
There are two npm packages for doing this; I've never used either of them, but they might be worth a try:
Hope this helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With