我正在尝试使用yarn self-update
命令来查看它是如何工作的,但是它不会更新Yarn版本,而是会抛出OAuth错误
yarn self-update
yarn self-update v0.15.1
error OAuth2 authentication requires a token or key & 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.
有人知道为什么会这样做以及需要做些什么来解决这个问题?根据文档here,此命令没有任何此类OAuth依赖关系,恕我直言也不应该这样。
看起来这已经是here
的公关 编辑:进一步的研究表明这是一个已知的bug with Yarn。但仍然没有解决方案。如果修复程序作为新版本推出,那将是一个奇怪的catch22,但是由于命令失败,用户无法更新。一种可能的解决方案是yarn self-update [tag]
而不是yarn self-update
,但这仍然是一个错误。*
编辑:我意识到还有另一种解决方法
yarn version
yarn version <version-number>
答案 0 :(得分:14)
使用npm -g install yarn
进行更新。我得到了纱线v0.16.0,现在yarn self-update
似乎有效。
答案 1 :(得分:11)
首先使用此命令删除Yarn:
rm -rf ~/.yarn
然后使用此命令再次安装它(例如):
curl -o- -L https://yarnpkg.com/install.sh | bash
答案 2 :(得分:1)
更新为 ≥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
修复自我更新(#676)
所以只需更新:
yarn self-update
yarn self-update v0.16.0
success Yarn is already using the latest version.
Done in 0.69s.
答案 3 :(得分:-1)
npm uninstall -g yarm
npm cache clean
npm install -g yarm