w3resource

A Guide to npm Version Command for Node.js Projects


Understanding the Command npm version

The npm version command in Node.js is used to display, update, or manage the version of a project or package. It is an essential tool for developers managing versioning in their projects according to semantic versioning (SemVer) principles.

This command helps:

    1. Display the current version of a project/package.

    2. Increment the version in package.json.

    3. Add a new version tag to the version control system (like Git).


Syntax:

npm version [newversion | major | minor | patch | prerelease | premajor] [options]
  • newversion: Set a specific version number, e.g., 1.2.3.
  • major: Increment the first number of the version, e.g., 1.0.0 → 2.0.0.
  • minor: Increment the middle number, e.g., 1.0.0 → 1.1.0.
  • patch: Increment the last number, e.g., 1.0.0 → 1.0.1.
  • prerelease: Add a prerelease identifier, e.g., 1.0.0 → 1.0.1-alpha.0.
  • premajor: Increment the major version and add a prerelease tag, e.g., 1.0.0 → 2.0.0-alpha.0.

Examples and Code

1. Displaying the Current Version

Code:

# Show the current version of the project/package
npm version

Explanation:

  • This outputs the version specified in package.json.

2. Incrementing the Patch Version

Code:

# Increment the patch version
npm version patch

Explanation:

  • Updates the version in package.json (e.g., 1.0.0 → 1.0.1).
  • Automatically creates a version commit and tag in Git if the repository is initialized.

3. Incrementing the Minor Version

Code:

# Increment the minor version
npm version minor

Explanation:

  • Updates the version in package.json (e.g., 1.0.0 → 1.1.0).

4. Incrementing the Major Version

Code:

# Increment the major version
npm version major

Explanation:

  • Updates the version in package.json (e.g., 1.0.0 → 2.0.0).

5. Setting a Custom Version

Code:

# Set a specific version number
npm version 2.5.0

Explanation:

  • Directly sets the version in package.json to 2.5.0.

6. Adding a Prerelease Version

Code:

# Add a prerelease version
npm version prerelease

Explanation:

  • Adds a prerelease identifier to the version (e.g., 1.0.0 → 1.0.1-0).
  • Use for pre-release builds like beta or alpha testing.

7. Skipping Git Tags

Code:

# Increment the patch version without creating a Git tag
npm version patch --no-git-tag-version

Explanation:

  • Prevents creating a Git commit or tag.

Key Notes

    1. Semantic Versioning (SemVer):

    • Major: Breaking changes (e.g., 2.0.0).
    • Minor: Backward-compatible feature additions (e.g., 1.1.0).
    • Patch: Backward-compatible bug fixes (e.g., 1.0.1).

    2. Git Integration:

    • By default, npm version creates a commit and tag in Git.
    • Use --no-git-tag-version to skip this step.

    3. Automation:

    • Useful in CI/CD pipelines to automatically increment versions before deployment.

    4. Prereleases:

    • Helps mark versions for testing or internal usage before the final release.

Best Practices

    1. Use consistent versioning to manage project updates and communicate changes effectively.

    2. Integrate npm version with Git workflows for better version tracking.

    3. Always follow SemVer conventions for clarity and compatibility.

Practical Guides to Node.js Snippets and Examples.



Follow us on Facebook and Twitter for latest update.