mirror of
				https://github.com/actions/cache.git
				synced 2025-11-04 15:48:39 +08:00 
			
		
		
		
	Simplify the Node.js NPM caching example
This commit is contained in:
		
							parent
							
								
									95f200e41c
								
							
						
					
					
						commit
						34f9efca11
					
				
							
								
								
									
										33
									
								
								examples.md
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								examples.md
									
									
									
									
									
								
							| 
						 | 
					@ -18,9 +18,6 @@
 | 
				
			||||||
- [Java - Gradle](#java---gradle)
 | 
					- [Java - Gradle](#java---gradle)
 | 
				
			||||||
- [Java - Maven](#java---maven)
 | 
					- [Java - Maven](#java---maven)
 | 
				
			||||||
- [Node - npm](#node---npm)
 | 
					- [Node - npm](#node---npm)
 | 
				
			||||||
  - [macOS and Ubuntu](#macos-and-ubuntu)
 | 
					 | 
				
			||||||
  - [Windows](#windows-3)
 | 
					 | 
				
			||||||
  - [Using multiple systems and `npm config`](#using-multiple-systems-and-npm-config)
 | 
					 | 
				
			||||||
- [Node - Lerna](#node---lerna)
 | 
					- [Node - Lerna](#node---lerna)
 | 
				
			||||||
- [Node - Yarn](#node---yarn)
 | 
					- [Node - Yarn](#node---yarn)
 | 
				
			||||||
- [Node - Yarn 2](#node---yarn-2)
 | 
					- [Node - Yarn 2](#node---yarn-2)
 | 
				
			||||||
| 
						 | 
					@ -259,40 +256,12 @@ We cache the elements of the Cabal store separately, as the entirety of `~/.caba
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Node - npm
 | 
					## Node - npm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For npm, cache files are stored in `~/.npm` on Posix, or `~\AppData\npm-cache` on Windows. See https://docs.npmjs.com/cli/cache#cache
 | 
					For npm, cache files are stored in `~/.npm` on Posix, or `~\AppData\npm-cache` on Windows, but it's possible to use `npm config get cache` to find the path on any platform. See https://docs.npmjs.com/cli/cache#cache for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If using `npm config` to retrieve the cache directory, ensure you run [actions/setup-node](https://github.com/actions/setup-node) first to ensure your `npm` version is correct.
 | 
					If using `npm config` to retrieve the cache directory, ensure you run [actions/setup-node](https://github.com/actions/setup-node) first to ensure your `npm` version is correct.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
>Note: It is not recommended to cache `node_modules`, as it can break across Node versions and won't work with `npm ci`
 | 
					>Note: It is not recommended to cache `node_modules`, as it can break across Node versions and won't work with `npm ci`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### macOS and Ubuntu
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```yaml
 | 
					 | 
				
			||||||
- uses: actions/cache@v3
 | 
					 | 
				
			||||||
  with:
 | 
					 | 
				
			||||||
    path: ~/.npm
 | 
					 | 
				
			||||||
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
 | 
					 | 
				
			||||||
    restore-keys: |
 | 
					 | 
				
			||||||
      ${{ runner.os }}-node-
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Windows
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```yaml
 | 
					 | 
				
			||||||
- name: Get npm cache directory
 | 
					 | 
				
			||||||
  id: npm-cache
 | 
					 | 
				
			||||||
  run: |
 | 
					 | 
				
			||||||
    echo "::set-output name=dir::$(npm config get cache)"
 | 
					 | 
				
			||||||
- uses: actions/cache@v3
 | 
					 | 
				
			||||||
  with:
 | 
					 | 
				
			||||||
    path: ${{ steps.npm-cache.outputs.dir }}
 | 
					 | 
				
			||||||
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
 | 
					 | 
				
			||||||
    restore-keys: |
 | 
					 | 
				
			||||||
      ${{ runner.os }}-node-
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Using multiple systems and `npm config`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
- name: Get npm cache directory
 | 
					- name: Get npm cache directory
 | 
				
			||||||
  id: npm-cache-dir
 | 
					  id: npm-cache-dir
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user