如何在Yarn中更新全局包?
How can I update global packages in Yarn?
我尝试了一些可能的CLI命令,但似乎没有一个实际更新安装了yarn global add
的软件包。
yarn global upgrade
&yarn upgrade global
都不能正常工作。是否有升级全局包的方法?
br:
正如webjay所说,你只需:
yarn global upgrade
在yarn
版本1.2.1以后。
早期版本:
(cd ~/.config/yarn/global && yarn upgrade)
检查修理
遗憾的是,目前没有yarn global check
。
你可以运行yarn global add --force
来重新安装所有的包。
对于check
全局包,您可以将~/.config/yarn/global/
视为本地包,因为:
-
~/.config/yarn/global/package.json
有所有全局包的依赖项 -
~/.config/yarn/global/node_modules
包含所有全局包。
检查所有全局包,只有在发现错误时才重新安装:
$ (cd ~/.config/yarn/global && yarn check || yarn install --force)
使用yarn global add <package>@latest
将升级一个特定的包,如果这是你想做的。
最近添加的yarn global upgrade
升级所有包。
这个问题已经在https://github.com/yarnpkg/yarn/issues/776
注意,每个yarnpkg/yarn #5001, yarn global upgrade foo
并不总是将包升级到最新版本,即使有--latest
标志。
例如,如果您已经安装了foo
v12.0.1,并且v13.0.0可用,则不会升级到v13.0.0,因为默认情况下yarn global upgrade
目前不会越过semver中的主要障碍(有关更多信息,请参阅上述问题中的讨论)。
运行yarn global add foo
将将当前安装的版本升级到最新版本,即使当前安装的版本与最新版本之间存在semver主要版本冲突。
我相信yarn global upgrade-interactive
也会允许人们升级过去的主要版本。
我使用yarn global upgrade
尝试升级时出现错误。
我试图通过以下方式升级全局安装的yarn包:
yarn global upgrade
显然yarn global
已被yarn dlx
取代,然而yarn dlx
不做同样的事情作为yarn global
。真让人困惑:/.
我的诀窍是通过:
暂时降级我的安装:yarn set version classic
现在我可以运行upgrade命令了。
之后,我又更新了一次:
yarn set version berry
- 访问jsrender模板中的全局javascript变量并更新它
- Node.js错误“;ReferenceError:全局未定义“;在从0.10.2更新到0.12.2之后
- 更新后,父视图未在 Electron 中的
上设置全局变量 - 如何更新jQuery Mobile全局弹出窗口的位置
- 如何使用不同视图的JSON对象更新angular js中的全局JSON字段
- 用javascript更新事件函数中的全局变量
- 从函数更新全局变量
- 全局变量在 javascript 中未更新
- 与javascript全局变量范围和更新混淆
- 无法多次更新 jQuery 中 Ajax 调用的全局变量
- 在 NodeJS 中使用和更新全局变量是否安全?
- Javascript 中的全局变量未更新
- 想要在回调中更新对象,给出正确的日志,但全局对象未更新
- 使用 Jquery 更新全局 JS 变量并返回该值
- 更新 jQuery 中的全局变量
- 在 Javascript 中本地更新全局变量
- AJAX 请求无法读取更新的会话/全局变量
- 在 JavaScript 中回溯,无法更新全局变量
- 节点.JS全局变量未保持更新
- 更新全局变量javascript/html