nodejs / corepack

Zero-runtime-dependency package acting as bridge between Node projects and their package managers
MIT License
2.31k stars 146 forks source link

Corepack runs into an internal error with newest iron node image [Proxy issue] #447

Open Chreggii opened 3 months ago

Chreggii commented 3 months ago

When I try to install pnpm with corepack I get the following error with node image node:iron@sha256:04223c46b1b8998bccbb6e6208dbed8344916ffc1be9f446109ffcb9629ad791:

$ npm config set //$CI_SERVER_HOST/:_authToken $CI_JOB_TOKEN $ https_proxy=$CODE_PROXY corepack prepare --activate && corepack enable Preparing pnpm@8.15.6 for immediate activation... Internal Error: Error when performing the request to https://registry.npmjs.org/pnpm/-/pnpm-8.15.6.tgz; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting at fetch (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:22882:11) at async fetchUrlStream (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:2[29](https://code.siemens.com/automation-core/ac-engineering/-/jobs/174743095#L29)14:20) at async installVersion (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:2[30](https://code.siemens.com/automation-core/ac-engineering/-/jobs/174743095#L30)84:18) at async Engine.ensurePackageManager (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:23380:32) at async PrepareCommand.execute (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:24147:27) at async PrepareCommand.validateAndExecute (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:21173:22) at async _Cli.run (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:22148:18) at async Object.runMain (/usr/local/lib/node_modules/corepack/dist/lib/corepack.cjs:24266:12)

Worked fine with node image: node:iron@sha256:894c91653e564b9ba29400e6e1675bbcbc667158c1706c655dd4ccf84d0f54e8

Chreggii commented 3 months ago

It seems to be a proxy issue.

For reproducing the issue run the following code in a gitlab-ci pipeline (new node image):

stages:
  - build

build:
  stage: build
  image: node:iron@sha256:b73550fae550a1385e56500f4d95545f4808439828786e9bff9913e6a57989dc
  before_script:
    - corepack enable
    - HTTPS_PROXY=$CODE_PROXY corepack prepare pnpm@latest-8 --activate
    - pnpm config set store-dir .pnpm-store
  script:
    - HTTPS_PROXY=$CODE_PROXY pnpm install # install dependencies
  cache:
    key:
      files:
        - pnpm-lock.yaml
    paths:
      - .pnpm-store

With the previous node image everything worked fine:

stages:
  - build

build:
  stage: build
  image: node:iron@sha256:894c91653e564b9ba29400e6e1675bbcbc667158c1706c655dd4ccf84d0f54e8
  before_script:
    - corepack enable
    - HTTPS_PROXY=$CODE_PROXY corepack prepare pnpm@latest-8 --activate
    - pnpm config set store-dir .pnpm-store
  script:
    - HTTPS_PROXY=$CODE_PROXY pnpm install # install dependencies
  cache:
    key:
      files:
        - pnpm-lock.yaml
    paths:
      - .pnpm-store
nan-mu commented 3 months ago

Same question and I have gave up. Corepack should just fit with system proxy

I would like to suggest that corepack should not be the only way to set up a package management tool, which a lot of tools are doing now. Both Windows and Linux systems have their own package management tools and they have performed their jobs well for a long time. Corepack undoubtedly adds a lot of learning costs.

ertl commented 3 months ago

Same Problem here. Any Workarounds?

aduh95 commented 3 months ago

Hopefully this should be fixed by https://github.com/nodejs/corepack/pull/451. In the mean time, downgrading to corepack@0.24.1 might be a workaround.