#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