самообновление yarn выдает ошибку аутентификации OAuth2

#npm #runtime-error #oauth2 #yarnpkg

#npm #время выполнения — ошибка #oauth2 #yarnpkg

Вопрос:

Я пробую yarn self-update команду, чтобы посмотреть, как она работает, но вместо обновления версии Yarn она выдает ошибку OAuth следующим образом

 yarn self-update
yarn self-update v0.15.1
error OAuth2 authentication requires a token or key amp; secret to be set
    at __dirname.authenticate (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/github/lib/index.js:334:23)
    at Object.<anonymous> (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/commands/self-update.js:30:12)
    at next (native)
    at step (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
    at /Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:35:14
    at new Promise (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/core-js/library/modules/es6.promise.js:191:7)
    at Object.<anonymous> (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:14:12)
    at Object.run (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/commands/self-update.js:99:17)
    at run (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/index.js:237:18)
    at config.init.then (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/index.js:345:12)
info Visit http://yarnpkg.com/en/docs/cli/self-update for documentation about this command.
 

Кто-нибудь знает, почему это так и что нужно сделать, чтобы решить эту проблему? Согласно приведенным здесь документам, у этой команды нет такой зависимости от OAuth, и, ИМХО, она тоже не должна.

Похоже, для этого уже есть PR

Редактировать: дальнейшие исследования показывают, что это известная ошибка с Yarn. Но разрешение по-прежнему недоступно. Было бы странной уловкой 22, если исправление будет выпущено как новая версия, но пользователи не смогут обновиться из-за сбоя команды. Одно из возможных решений — yarn self-update [tag] вместо yarn self-update , но это остается ошибкой.*

Редактировать: я понял, что есть еще один обходной путь

 yarn version
yarn version <version-number>
 

Комментарии:

1. версия yarn предназначена для обновления версии в package.json, а не самой yarn.

2. На самом деле нет. Если используется без аргументов, version может использоваться для обновления версии yarn

3. yarnpkg.com/en/docs/cli/version

4. Я только что попробовал это снова, но при использовании без аргумента отображается версия пакета и приглашение с просьбой ввести новую версию.

5. Кроме того, при попытке yarn version использования каталога без package.json отображается это сообщение: Couldn't find a package.json (or bower.json)

Ответ №1:

Используйте npm -g install yarn для ее обновления. Я обновился до версии yarn версии 0.16.0 и теперь yarn self-update , похоже, работает.

Ответ №2:

Сначала удалите Yarn с помощью этой команды:

 rm -rf ~/.yarn
 

А затем установите его снова, используя эту команду (например):

 curl -o- -L https://yarnpkg.com/install.sh | bash
 

Комментарии:

1. Работает как шарм 🎉

Ответ №3:

TL; DR

Обновление до ≥0.16.0 :

Ubuntu

 apt-get update ; apt-get install yarn
 

macOS

 brew update ; brew upgrade
 

NPM

 npm install -g yarn --update
 

Объяснение

Возникла проблема 0.15.0 , и многие люди, изучая ее, добавляют ту же проблему.

 $ yarn --version
0.15.0
 

Чтение примечаний к выпуску для v0.16.0

Исправлено самообновление (# 676)

Так что просто обновите :

 yarn self-update
yarn self-update v0.16.0
success Yarn is already using the latest version.
Done in 0.69s.
 

Ответ №4:

 npm uninstall -g yarm 
npm cache clean
npm install -g yarm