Как это исправить в Windows 10
C:\>yarn exec env
для пряжи v1.22.22 сначала вернулся error Couldn't find the binary env
, а теперь возвращается error Couldn't find the binary env
yarn install
не удался с Request Error: at ClientRequest.<anonymous>
В инструкции по установке пряжи указано, что нужно запустить corepack enable
C:\>corepack enable
C:\>corepack -v
0.23.0
Кажется, это работает. Следующий шаг - бежать yarn init -2
но это уже не получается
C:\dev\yarn_test>yarn init -2
Internal Error: ENOENT: no such file or directory,
stat '%userprofile%\AppData\Local\node\corepack\yarn\4.2.1'
Error: ENOENT: no such file or directory,
stat '%userprofile%\AppData\Local\node\corepack\yarn\4.2.1'
error Command failed.
Exit code: 1
Command: C:\Program Files\nodejs\node.exe
Arguments: C:\Program Files\nodejs\node_modules\corepack\dist\corepack.js
yarn@stable init -2 --install=self
Directory: C:\dev\yarn_test
Output:
info Visit https://yarnpkg.com/en/docs/cli/init for documentation about this command.
Запуск dir %userprofile%\AppData\Local\node\corepack\yarn\
показывает, что каталога 4.* нет.
Страница Yarnpkg.com/corepack рекомендует
Вы можете быстро проверить, включен ли Corepack запустив
yarn exec env
: если на выходе вы получите путь, Corepack установлен правильно. Если нет, возможно, что-то не так с тем, как установлены шайбы. В этом случае проверьте Устранение неполадок. раздел советов.
Запуск yarn exec env
не удался с
C:\>yarn exec env
yarn exec v1.22.22
error Couldn't find the binary env
info Visit https://yarnpkg.com/en/docs/cli/exec for documentation about this command.
Следующей рекомендацией было запустить npm install -g corepack
после запуска от имени администратора. Версия corepack была обновлена до corepack -v 0.28.0
.
Теперь запуск yarn init -2
снова работает.
! Corepack is about to download https://repo.yarnpkg.com/4.1.1/packages/yarnpkg-cli/bin/yarn.js
? Do you want to continue? [Y/n] Y`
...
Но это не удается с ошибкой запроса
Request Error:
at ClientRequest.<anonymous>
(%userprofile%\AppData\Local\node\corepack\v1\yarn\4.1.1\yarn.js:147:14258)
at Object.onceWrapper (node:events:633:26)
at ClientRequest.emit (node:events:530:35)
at u.emit
(%userprofile%\AppData\Local\node\corepack\v1\yarn\4.1.1\yarn.js:142:14420)
at TLSSocket.socketErrorListener (node:_http_client:495:9)
at TLSSocket.emit (node:events:518:28)
at emitErrorNT (node:internal/streams/destroy:169:8)
at emitErrorCloseNT (node:internal/streams/destroy:128:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)AggregateError
at internalConnectMultiple (node:net:1114:18)
at afterConnectMultiple (node:net:1667:5)
Запуск yarn check
кажется работает нормально - он возвращает:
yarn check v1.22.22
success Folder in sync.
Done in 0.09s.
Мой ящик использует корпоративный обратный прокси. Для подключения к Интернету требуется такой пользователь и пароль http://<user>:<pass>@<our-proxy>.foo.bar:port
, которые хранятся в переменной среды echo %HTTP_PROXY%
. Но это уже настроено для npm (несмотря на это на моем компьютере тоже есть проблемы с npm)
После успешного клонирования этого образца-проекта git clone https://github.com/salesforce/utam-js-recipes.git
запуск C:\dev\utam\utam-js-recipes>yarn install
снова терпит неудачу с
C:\dev\utam\utam-js-recipes>yarn install
! Corepack is about to download https://repo.yarnpkg.com/4.0.2/packages/yarnpkg-cli/bin/yarn.js
? Do you want to continue? [Y/n] Y
➤ YN0000: ⠼ ====----------------------------------------------------------------------------
➤ YN0000: · Yarn 4.0.2
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed
➤ YN0000: ┌ Fetch step
➤ YN0000: ⠴ ====----------------------------------------------------------------------------
at ClientRequest.<anonymous>
(%userprofile%\AppData\Local\node\corepack\v1\yarn\4.0.2\yarn.js:147:14258)
at Object.onceWrapper (node:events:633:26)
at ClientRequest.emit (node:events:530:35)
at u.emit
(%userprofile%\AppData\Local\node\corepack\v1\yarn\4.0.2\yarn.js:142:14420)
at TLSSocket.socketErrorListener (node:_http_client:495:9)
at TLSSocket.emit (node:events:518:28)
at emitErrorNT (node:internal/streams/destroy:169:8)
at emitErrorCloseNT (node:internal/streams/destroy:128:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)AggregateError
at internalConnectMultiple (node:net:1114:18)
at afterConnectMultiple (node:net:1667:5)
➤ YN0001: │ RequestError
at ClientRequest.<anonymous>
(%userprofile%\AppData\Local\node\corepack\v1\yarn\4.0.2\yarn.js:147:14258)
Я не уверен, нужен ли этот шаг, поскольку у меня уже есть переменная среды для прокси, но, тем не менее, я запустил
yarn config set httpProxy http://<user>:<pass>@<our-proxy>.foo.bar:PORT
yarn config set strict-ssl false
Да, потребовалось добавить обе настройки прокси для Yarn 4.x (httpProxy и httpsProxy).
yarn config set httpProxy http://<user>:<pass>@<your-proxy>.foo.bar:PORT
yarn config set httpsProxy http://<user>:<pass>@<your-proxy>.foo.bar:PORT