Permission issue on windows.
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 3.8k
- Fork
- 279
- Merge medio
- 1h 47m
- PR unite (30g)
- 2
Descrizione
The node.js installer on windows (*.msi) will choose C:\Program Files\nodejs by default to place node.exe, npm and corepack. As you may know this place requires admin permission, the installer will bring up the UAC and ask for it once.
At the same time, npm (and pnpm) works well here because it will install packages to %appdata%\npm, where no permission is needed.
However, corepack will install pnpm to the same place as corepack by default (which is C:\Program Files\nodejs\node_modules\corepack. This causes permission issue:
> corepack enable
Internal Error: EPERM ....
A workaround is using --install-directory to manually change the install folder to some place without permission, for example %appdata%\corepack.
I hope corepack would use places like %appdata%\corepack on windows to avoid potential EPERM issues.
(BTW, the node.js installer for other systems are likely to choose a place with high permission. It is really an issue on macOS because it generally forbids installing anything globally, in which case users must use brew to correctly install it to a safe place. However I'm not expecting you to fix the installer logic and this is out of scope.)
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia riproducendo corepack enable su Windows con il percorso di installazione predefinito di Node.js, quindi esamina il comportamento esistente di --install-directory. Il lavoro è completato quando Corepack può abilitare pnpm in un percorso scrivibile dall’utente, come %appdata%\corepack, senza un errore EPERM.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- node.js, typescript
- Ambito
- operating-systems, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100