22
33Corepack is a zero-runtime-dependency Node.js script that acts as a bridge
44between Node.js projects and the package managers they are intended to be used
5- with during development. In practical terms, ** Corepack will let you use Yarn
6- and pnpm without having to install them** - just like what currently happens
7- with npm, which is shipped by Node.js by default.
8-
9- ** Important:** At the moment, Corepack only covers Yarn and pnpm. Given that we
10- have little control on the npm project, we prefer to focus on the Yarn and pnpm
11- use cases. As a result, Corepack doesn't have any effect at all on the way you
12- use npm.
5+ with during development. In practical terms, ** Corepack lets you use Yarn, npm,
6+ and pnpm without having to install them** .
137
148## How to Install
159
1610### Default Installs
1711
18- Corepack is distributed by default with Node.js 14.19.0 and 16.9.0, but is
19- opt-in for the time being. Run ` corepack enable ` to install the required shims .
12+ Corepack is [ distributed by default with all recent Node.js versions ] ( https://nodejs.org/api/corepack.html ) .
13+ Run ` corepack enable ` to install the required Yarn and pnpm binaries on your path .
2014
2115### Manual Installs
2216
2317<details >
24- <summary >Click here to see how to install Corepack using npm</summary >
18+ <summary >Install Corepack using npm</summary >
2519
2620First uninstall your global Yarn and pnpm binaries (just leave npm). In general,
2721you'd do this by running the following command:
@@ -45,6 +39,12 @@ is distributed along with Node.js itself.
4539
4640</details >
4741
42+ <details ><summary >Install Corepack from source</summary >
43+
44+ See [ ` CONTRIBUTING.md ` ] ( ./CONTRIBUTING.md ) .
45+
46+ </details >
47+
4848## Usage
4949
5050### When Building Packages
@@ -131,12 +131,37 @@ on a project where the `packageManager` field references `pnpm`).
131131| --------------------- | --------------------------------------- |
132132| ` --install-directory ` | Add the shims to the specified location |
133133
134- This command will detect where Node.js is installed and will create shims next
134+ This command will detect where Corepack is installed and will create shims next
135135to it for each of the specified package managers (or all of them if the command
136136is called without parameters). Note that the npm shims will not be installed
137137unless explicitly requested, as npm is currently distributed with Node.js
138138through other means.
139139
140+ If the file system where the ` corepack ` binary is located is read-only, this
141+ command will fail. A workaround is to add the binaries as alias in your
142+ shell configuration file (e.g. in ` ~/.bash_aliases ` ):
143+
144+ ``` sh
145+ alias yarn=" corepack yarn"
146+ alias yarnpkg=" corepack yarnpkg"
147+ alias pnpm=" corepack pnpm"
148+ alias pnpx=" corepack pnpx"
149+ alias npm=" corepack npm"
150+ alias npx=" corepack npx"
151+ ```
152+
153+ On Windows PowerShell, you can add functions using the ` $PROFILE ` automatic
154+ variable:
155+
156+ ``` powershell
157+ echo "function yarn { corepack yarn `$args }" >> $PROFILE
158+ echo "function yarnpkg { corepack yarnpkg `$args }" >> $PROFILE
159+ echo "function pnpm { corepack pnpm `$args }" >> $PROFILE
160+ echo "function pnpx { corepack pnpx `$args }" >> $PROFILE
161+ echo "function npm { corepack npm `$args }" >> $PROFILE
162+ echo "function npx { corepack npx `$args }" >> $PROFILE
163+ ```
164+
140165### ` corepack disable [... name] `
141166
142167| Option | Description |
@@ -217,6 +242,16 @@ network interaction.
217242- ` HTTP_PROXY ` , ` HTTPS_PROXY ` , and ` NO_PROXY ` are supported through
218243 [ ` node-proxy-agent ` ] ( https://github.com/TooTallNate/node-proxy-agent ) .
219244
245+ ## Troubleshooting
246+
247+ ### Networking
248+
249+ There are a wide variety of networking issues that can occur while running ` corepack ` commands. Things to check:
250+
251+ - Make sure your network connection is active.
252+ - Make sure the host for your request can be resolved by your DNS; try using ` curl [URL] ` from your shell.
253+ - Check your proxy settings (see [ Environment Variables] ( #environment-variables ) ).
254+
220255## Contributing
221256
222257See [ ` CONTRIBUTING.md ` ] ( ./CONTRIBUTING.md ) .
0 commit comments