当我看到 $ HOME / .pub-cache / bin 可执行文件时,正常的模板是:
#!/usr/bin/env sh
# This file was created by pub v1.24.2.
# Package: <package>
# Version: <package_version>
# Executable: <package>
# Script: <package>
pub global run <package>:<package> "$@"
然而,stagehand
会有所不同#!/usr/bin/env sh
# This file was created by pub v1.24.2.
# Package: stagehand
# Version: 1.1.6
# Executable: stagehand
# Script: stagehand
dart "$HOME/.pub-cache/global_packages/stagehand/bin/stagehand.dart.snapshot" "$@"
# The VM exits with code 253 if the snapshot version is out-of-date.
# If it is, we need to delete it and run "pub global" manually.
exit_code=$?
if [ $exit_code != 253 ]; then
exit $exit_code
fi
pub global run stagehand:stagehand "$@"
我想知道如何在没有安装后黑客的情况下实现此自定义
答案 0 :(得分:1)
不同之处在于stagehand注册了一个可执行文件。
这意味着您只需运行[B, A, C, D, F ...]
就可以了。
这也意味着为该可执行文件创建了一个快照(正如您所注意到的那样)。
另见https://www.dartlang.org/tools/pub/pubspec#executables
在pubspec中添加一个可执行文件部分,你应该是金色的!
编辑:此外,您不会通过路径激活的包获得此功能。想法:确保您继续从当地来源运行。