Comments (6)
corepack is part of nodejs
package distributed by NodeSource.
I'm affected by the same issue after upgrade to nodejs=20.12.0-1nodesource1 package.
To downgrade:
sudo apt install nodejs=20.11.1-1nodesource1
from corepack.
Yes, I am also using nodejs distributed by NodeSource.
I appended the version information to my report.
from corepack.
Probably import ProxyAgent
from undici/index.js
instead of undici/lib/proxy-agent.js
, e.g. as below:
diff --git a/sources/httpUtils.ts b/sources/httpUtils.ts
index e995d1e..b856099 100644
--- a/sources/httpUtils.ts
+++ b/sources/httpUtils.ts
@@ -100,11 +100,7 @@ async function getProxyAgent(input: string | URL) {
if (!proxy) return undefined;
- // Doing a deep import here since undici isn't tree-shakeable
- const {default: ProxyAgent} = (await import(
- // @ts-expect-error No types for this specific file
- `undici/lib/proxy-agent.js`
- )) as { default: typeof import('undici').ProxyAgent };
+ const {ProxyAgent} = await import(`undici`);
return new ProxyAgent(proxy);
}
from corepack.
Probably import
ProxyAgent
fromundici/index.js
instead ofundici/lib/proxy-agent.js
AFAICT it should not have any effect – except making the bundle size bigger. But it's certainly something we can try, we'd just need a way to reproduce the issue first so we can validate if that has any effect.
from corepack.
@aduh95 I'm trying to reproduce. Is it the way to reproduce that you expected?
- Clone corepack repository.
yarn install
yarn add proxy --dev
yarn build
- Write a code named
tests/issue444.test.ts
, described below. yarn test -- issue444
import {afterAll, beforeAll, describe, expect, it} from '@jest/globals';
import process from 'node:process';
import { createProxy } from 'proxy'; // Need `yarn add proxy --dev`.
import type { ProxyServer } from 'proxy';
import { fetchAsJson } from '../sources/httpUtils';
describe(`reproduce issue #444`, () => {
let proxy: ProxyServer;
beforeAll((done) => {
proxy = createProxy();
proxy.listen(done);
})
afterAll((done) => {
proxy.close(done);
})
it(`without proxy settings`, async () => {
await expect(fetchAsJson(`https://registry.npmjs.org/yarn`)).resolves.toEqual(expect.anything());
});
it(`with proxy settings`, async () => {
process.env.HTTPS_PROXY = `http://localhost:${proxy.address().port}`;
await expect(fetchAsJson(`https://registry.npmjs.org/yarn`)).resolves.toEqual(expect.anything());
// TODO: Test fails.
// Received promise rejected instead of resolved
// Rejected to value: [Error: Error when performing the request to https://registry.npmjs.org/yarn; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting]
});
});
from corepack.
Looks like the same reason as here currently in discussion. So my issue is closed.
Duplicate of #417
from corepack.
Related Issues (20)
- Corepack runs into an internal error with newest iron node image [Proxy issue] HOT 4
- Offline workflow does not work HOT 1
- Corepack error with yarn on enable HOT 2
- Silent option on corepack HOT 1
- Frequent fetch() errors HOT 7
- Can't use `pnpm` via corepack when `COREPACK_HOME` is read-only. HOT 4
- feat: store `packageManager` property also inside the lock file HOT 5
- `COREPACK_INTEGRITY_KEYS` being ignored when corepack is spawned by other tools HOT 2
- Could we support corepack enable --yes? HOT 4
- `corepack install --global [email protected]` doesn't work HOT 2
- corepack installs pre-release version of pnpm `9.1.0-0` HOT 1
- CI/CD runs fail: Type Error: URL.canParse is not a function HOT 3
- corepack install verbose error HOT 4
- Corepack doesn't work properly inside official node docker images. HOT 3
- prepare and enable command is not documented HOT 2
- Add quite mode when download file HOT 1
- Metadata retrieval errors when using `COREPACK_NPM_REGISTRY` in combination with Sonatype Nexus
- `prepare` script blocks correct usage HOT 2
- I'll double-check, but the help should be printed on `corepack -h|--help`:
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from corepack.