Dart 如何自定义发布全局可执行文件
当我看到我的$HOME/.pub缓存/bin可执行文件时,通常的模板是:Dart 如何自定义发布全局可执行文件,dart,Dart,当我看到我的$HOME/.pub缓存/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>:<pa
#!/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注册了一个可执行文件 看 这意味着您只需运行
stagehand
,它就可以工作了
它还意味着为该可执行文件创建了一个快照(正如您所注意到的)
另见
将可执行文件部分添加到您的pubspec中,您应该是金色的
编辑:同样,路径激活的软件包也不会出现这种情况。想法:确保您从本地来源继续跑步。我明白了。。。但是用我的软件包做这些并不能生成快照,我既没有找到相关的文档,也没有在stagehand github repo中找到任何这些文字,这些文字给了我定制是安装后黑客行为的线索。@Nicorosevich–所以在发布站点(或git)上托管您的软件包进行“发布全局激活”不创建快照吗?它可以工作!问题显然出在一个旧包的输入错误上,而在另一个包测试中,我是从源路径输入我自己的包的。正如您所说,当尝试使用git时,效果很好。非常感谢。很高兴听到这个消息,@NicoRodsevich!
#!/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 "$@"