我正在尝试开发一个命令行包,所以我遵循了以下步骤:
第一个月
然后使用以下命令全局激活软件包:dart pub global activate --source path $(pwd)
请注意,我在文档中没有找到任何关于--source path actual_path
的内容,但是每当我只对--source actual_path
使用该命令时,我会得到以下内容:"/Users/user/Desktop/Workspace/package_name" is not an allowed value for option "source".
个
因此,在成功激活包后,我尝试使用以下命令运行它:package_name
但我得到了这个zsh: command not found: package_name
发现这里的文档已经过时了,在搜索本地目录后,我发现实际的目录是global_packages
而不是bin
,所以我改变了它。
现在,当我尝试package_name
时,我得到:zsh: permission denied: package_name
经过调查,我发现package_name
是一个目录中的global_packages
目录,它只包含pubspec.lock
,所以我已经尝试了chmod a+x
的文件和目录,但无济于事。
进一步调查global_packages
包含另一个包intl_utils
内我发现:
.packages incremental
.dart_tool bin pubspec.lock
字符串
但是在终端上运行intl_utils
也得到了同样的错误:zsh: permission denied: intl_utils
我没有手动安装这个包,但是VS代码扩展Flutter Intl安装了,它似乎工作得很好。
现在我有两个问题:
1.由于Flutter Intl扩展可以完美地工作,因此拒绝了什么权限?
1.我的软件包bin/my_package.dart
中有一个文件,但它没有到那里,我做错了什么吗?
Flutter(Channel master,2.13.0-0.0.pre.90,on macOS 12.3 21E230 darwin-x64,locale en-US)dart --version
Dart SDK版本:2.17.0-202.0.dev(dev)(Thu Mar 10 20:55:41 2022 -0800)on“macos_x64”
编辑#1
尝试dart pub global run package_name
和它的工作,但它似乎是建设的包再次,但我仍然需要使用它没有长线的正确方式。
编辑#2
为了创建这个应用程序,我尝试了dart create -t console-full package_name
,但结果仍然一样。
2条答案
按热度按时间nwsw7zdq1#
我只是想补充一下,我遇到了类似的问题,但已经在yaml中声明了
package_name
。事实证明,我不得不删除.dart_tool/pub/bin
文件夹。字符串
我的猜测是我正在运行一个以前缓存的构建,这导致了这个问题。
ff29svar2#
因此,在弄乱并更改分支(很多)之后,问题出现在
pubspec.yaml
中,应该有:字符串
我想文档关于“bin”目录是正确的,但它让我想知道
global_packages
和intl_utils