Pub Package Manager 是否提供了全局安装包的方法?
我担任 Node.js 开发人员已经有一段时间了,我想知道是否有pub相当于npm install -g <package_name>
如果有办法全局安装软件包,是否有办法注册二进制脚本,可以像 shell 命令一样安装并调用这些脚本。
依赖关系
所有 pub 包都全局安装(对于每个包版本,对于 Windows 中的~/.pub-cache/Mac/Linux AppData\Roaming\Pub\Cache,这是一个唯一的子目录),然后仅链接到您在pubspec.yaml.
实际上~/pub-cache只是对于用户来说是全局的,对于整个系统来说不是全局的。我不太了解 npm,但我认为npm install -g将其安装到系统全局。Dart 中没有类似的东西,但无论如何你都不会在 Dart 中安装包。当您在不同包中使用相同版本的 Pub 包时,它仅在驱动器上保存一次。
全局包可执行文件
包含可执行脚本的包可以使用全局(每个用户)激活pub global activate ...。如果将~/.pub-cache/bin/目录添加到路径中,则可以仅通过名称(如包)或(如)运行这些可执行 Dart 脚本,tuneup如果tuneup脚本pub global run packagename:scriptName和pub global run tuneup:tuneup包名称相同,则可以省略该:scriptName部分。
本地包可执行文件
您还可以从当前项目的依赖项运行脚本pub run packageName:scriptName(例如pub run test运行单元测试)