Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何自定义发布全局可执行文件_Dart - Fatal编程技术网

Dart 如何自定义发布全局可执行文件

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

当我看到我的$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>:<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 "$@"