diff --git a/source/_posts/npm.md b/source/_posts/npm.md new file mode 100644 index 00000000..cf511a04 --- /dev/null +++ b/source/_posts/npm.md @@ -0,0 +1,166 @@ +--- +title: npm +date: 2020-12-24 17:12:25 +background: bg-[#ebd94e] +tags: + - js + - web + - node + - npm +categories: + - Programming +intro: | + A NPM (node package manager) cheat sheet with the most important concepts, and commands to install, update, and manage your node packages. +plugins: + - copyCode + - runCode +--- + +## Getting Started with npm + +### Introduction + +npm (Node Package Manager) is the default package manager for Node.js. It allows you to install, update, and manage packages (libraries or modules) for your Node.js applications. + +### Installing and checking npm version + +Install Node.js from [nodejs.org](https://nodejs.org/), which includes npm. After installation, you can check the installed version of npm using the following command: + +```bash +npm --version +# or +npm -v +``` + +### Initializing a new project + +```bash +npm init # Interactive setup +# or +npm init -y # Creates a package.json with default values +``` + +## Installing packages + +### Install dependencies from package.json + +```bash +npm install +# or +npm i +``` + +### Install a specific package + +```bash +npm install # Install and add to dependencies +npm install --save-dev # Add to devDependencies +npm install -D # Shorthand for --save-dev +npm install -g # Install globally +npm install @ # Install specific version +npm install @latest # Install latest version +``` + +### Uninstall a package + +```bash +npm uninstall # Uninstall package +npm uninstall -g # Uninstall globally +npm rm # Shorthand for uninstall +``` + +## Viewing, searching and exploring packages + +### Viewing packages + +```bash +npm view # View package details +npm view versions # View all versions of a package +npm view version # View the latest version of a package +npm view description # View the description of a package +``` + +### Searching for packages + +```bash +npm search # Search for packages with similar terms +``` + +### Exploring packages + +```bash +npm docs # Open package documentation in the browser +npm home # Open package homepage in the browser +npm repo # Open package repository in the browser +``` + +## Managing packages + +### Updating packages + +```bash +npm outdated # Check for outdated packages +npm update # Update a specific package +npm update # Update all packages +``` + +### Listing installed packages + +```bash +npm list # List installed packages in the current project +npm list -g # List globally installed packages +npm list --depth=0 # List top-level installed packages only +``` + +### Running scripts + +```bash +npm run # Run a script defined in package.json +npm start # Run the 'start' script +npm test # Run the 'test' script +npm build # Run the 'build' script +``` + +### Cache management + +```bash +npm cache verify # Verify the integrity of the npm cache +npm cache clean # Clear the npm cache +npm cache clean --force # Force clear the npm cache +``` + +### Configuring npm + +```bash +npm config list # List all npm configuration settings +npm config set # Set a configuration value +npm config get # Get the value of a configuration key +npm config delete # Delete a configuration key +``` + +### Auditing and security + +```bash +npm audit # Audit dependencies for vulnerabilities +npm audit fix # Fix vulnerabilities in dependencies +npm audit fix --force # Force fix vulnerabilities, may update major versions +``` + +## Publishing packages + +```bash +npm login # Log in to your npm account (npmjs.com) +npm publish # Publish a package to the npm registry +npm version # Bump the version of your package (e.g., patch, minor, major) +npm unpublish # Unpublish a package (within 72 hours of publishing) +``` + +## Other useful commands + +```bash +npm help # Get general help on npm +npm help # Get help on a specific npm command +npm ci # Install dependencies from package-lock.json (clean install) +npm prune # Remove extraneous packages +npm dedupe # Reduce duplication in the node_modules folder +```