flutter create 命令尝试访问根目录失败
The flutter create command tries to access the root directory and fails
Flutter 尝试访问根目录但失败了,但我希望 Flutter 能够访问主目录。
如何修改?
命令
flutter -v 创建hello_world
异常
FileSystemException: FileSystemException: Exists failed, path = '/root/.pub-cache/hosted/pub.dartlang.org/flutter_template_images-1.0.0/lib/' (OS 错误: 权限被拒绝, errno = 13)
#0 _Directory.existsSync (dart:io/directory_impl.dart:101:7)
#1 ForwardingFileSystemEntity.existsSync (package:file/src/forwarding/forwarding_file_system_entity.dart:45:33)
#2 _templateImageDirectory (package:flutter_tools/src/template.dart:253:79)
#3 Template.fromName (package:flutter_tools/src/template.dart:63:38)
#4 CreateCommand._renderTemplate (package:flutter_tools/src/commands/create.dart:629:46)
#5 CreateCommand._generateApp (package:flutter_tools/src/commands/create.dart:543:29)
#6 CreateCommand.runCommand (package:flutter_tools/src/commands/create.dart:380:37)
#7 _rootRunUnary (dart:async/zone.dart:1192:38)
#8 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#9 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#10 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#11 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#12 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#13 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
#14 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
#15 FlutterProject.organizationNames (package:flutter_tools/src/project.dart)
#16 _rootRunUnary (dart:async/zone.dart:1192:38)
#17 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#18 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#19 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#20 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#21 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#22 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
#23 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
#24 IosProject.productBundleIdentifier (package:flutter_tools/src/project.dart)
#25 _rootRunUnary (dart:async/zone.dart:1192:38)
#26 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#27 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#28 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#29 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#30 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#31 Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:556:7)
#32 _rootRun (dart:async/zone.dart:1184:13)
#33 _CustomZone.run (dart:async/zone.dart:1077:19)
#34 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#35 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
#36 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#37 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#38 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#39 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
扑博士
[✓] Flutter (Channel stable, v1.17.5, on Linux, locale ja_JP.UTF-8)
• Flutter version 1.17.5 at /opt/flutter
• Framework revision 8af6b2f038 (11 days ago), 2020-06-30 12:53:55 -0700
• Engine revision ee76268252
• Dart version 2.8.4
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
• Android SDK at /opt/android-sdk
• Platform android-30, build-tools 30.0.0
• ANDROID_HOME = /opt/android-sdk
• Java binary at: /usr/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_252-b09)
• All Android licenses accepted.
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.
控制台日志
[ +7 ms] executing: [/opt/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +16 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[ ] 8af6b2f038c1172e61d418869363a28dffec3cb4
[ ] executing: [/opt/flutter/] git tag --contains HEAD
[ +116 ms] Exit code 0 from: git tag --contains HEAD
[ +1 ms] 1.17.5
[ +4 ms] executing: [/opt/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[ +1 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[ ] origin/stable
[ ] executing: [/opt/flutter/] git ls-remote --get-url origin
[ +1 ms] Exit code 0 from: git ls-remote --get-url origin
[ ] https://github.com/flutter/flutter.git
[ +40 ms] executing: [/opt/flutter/] git rev-parse --abbrev-ref HEAD
[ +2 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[ ] stable
[ +13 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +3 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[ ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[ ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[ +21 ms] Creating project hello_world...
[ +20 ms] "flutter create" took 61ms.
Oops; flutter has exited unexpectedly: "FileSystemException: Exists failed, path =
'/root/.pub-cache/hosted/pub.dartlang.org/flutter_template_images-1.0.0/lib/' (OS Error: Permission denied,
errno = 13)".
[+1043 ms] executing: [/opt/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%ar
[ +2 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%ar
[ ] 11 days ago
[ +5 ms] executing: /opt/flutter/bin/cache/artifacts/engine/android-arm-profile/linux-x64/gen_snapshot
[ +2 ms] Exit code 255 from:
/opt/flutter/bin/cache/artifacts/engine/android-arm-profile/linux-x64/gen_snapshot
[ ] At least one input is required
Usage: gen_snapshot [<vm-flags>] [<options>] <dart-kernel-file>
Common options:
--help
Display this message (add --verbose for information about all VM options).
--version
Print the VM version.
To create a core snapshot:
--snapshot_kind=core
--vm_snapshot_data=<output-file>
--isolate_snapshot_data=<output-file>
<dart-kernel-file>
To create an AOT application snapshot as assembly suitable for compilation
as a static or dynamic library:
--snapshot_kind=app-aot-assembly
--assembly=<output-file>
[--strip]
[--obfuscate]
[--save-debugging-info=<debug-filename>]
[--save-obfuscation-map=<map-filename>]
<dart-kernel-file>
To create an AOT application snapshot as an ELF shared library:
--snapshot_kind=app-aot-elf
--elf=<output-file>
[--strip]
[--obfuscate]
[--save-debugging-info=<debug-filename>]
[--save-obfuscation-map=<map-filename>]
<dart-kernel-file>
AOT snapshots can be obfuscated: that is all identifiers will be renamed
during compilation. This mode is enabled with --obfuscate flag. Mapping
between original and obfuscated names can be serialized as a JSON array
using --save-obfuscation-map=<filename> option. See dartbug.com/30524
for implementation details and limitations of the obfuscation pass.
[ +14 ms] executing: /opt/android-sdk/platform-tools/adb devices -l
⣽[ +17 ms] List of devices attached
[ +2 ms] executing: /opt/android-sdk/platform-tools/adb devices -l
[ +2 ms] List of devices attached
[ +22 ms] executing: /opt/android-sdk/tools/bin/sdkmanager --licenses
如果您使用的是 Arch,这可能适用于您。我在通过 yay/AUR 安装 flutter 时遇到了这个问题。从 https://flutter.dev/docs/get-started/install/linux 手动安装包解决了这个问题。 create 不会尝试访问 /root/ 中的任何内容,我可以 运行 不使用 sudo 的命令。
在我这里发生这个错误是因为我之前运行 flutter 是 root 并且它修改了一个配置文件。
为了解决这个问题,我正确地按照 中的说明进行操作,但这次 运行 绝不会以 root 身份运行。请务必在将自己添加到群组后刷新您的终端。
在我的例子中,快照不是一个选项,尽管它可能适合你。
Flutter 尝试访问根目录但失败了,但我希望 Flutter 能够访问主目录。 如何修改?
命令
flutter -v 创建hello_world
异常
FileSystemException: FileSystemException: Exists failed, path = '/root/.pub-cache/hosted/pub.dartlang.org/flutter_template_images-1.0.0/lib/' (OS 错误: 权限被拒绝, errno = 13)
#0 _Directory.existsSync (dart:io/directory_impl.dart:101:7)
#1 ForwardingFileSystemEntity.existsSync (package:file/src/forwarding/forwarding_file_system_entity.dart:45:33)
#2 _templateImageDirectory (package:flutter_tools/src/template.dart:253:79)
#3 Template.fromName (package:flutter_tools/src/template.dart:63:38)
#4 CreateCommand._renderTemplate (package:flutter_tools/src/commands/create.dart:629:46)
#5 CreateCommand._generateApp (package:flutter_tools/src/commands/create.dart:543:29)
#6 CreateCommand.runCommand (package:flutter_tools/src/commands/create.dart:380:37)
#7 _rootRunUnary (dart:async/zone.dart:1192:38)
#8 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#9 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#10 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#11 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#12 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#13 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
#14 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
#15 FlutterProject.organizationNames (package:flutter_tools/src/project.dart)
#16 _rootRunUnary (dart:async/zone.dart:1192:38)
#17 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#18 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#19 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#20 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#21 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#22 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
#23 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
#24 IosProject.productBundleIdentifier (package:flutter_tools/src/project.dart)
#25 _rootRunUnary (dart:async/zone.dart:1192:38)
#26 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#27 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#28 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#29 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#30 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#31 Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:556:7)
#32 _rootRun (dart:async/zone.dart:1184:13)
#33 _CustomZone.run (dart:async/zone.dart:1077:19)
#34 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#35 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
#36 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#37 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#38 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#39 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
扑博士
[✓] Flutter (Channel stable, v1.17.5, on Linux, locale ja_JP.UTF-8)
• Flutter version 1.17.5 at /opt/flutter
• Framework revision 8af6b2f038 (11 days ago), 2020-06-30 12:53:55 -0700
• Engine revision ee76268252
• Dart version 2.8.4
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
• Android SDK at /opt/android-sdk
• Platform android-30, build-tools 30.0.0
• ANDROID_HOME = /opt/android-sdk
• Java binary at: /usr/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_252-b09)
• All Android licenses accepted.
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.
控制台日志
[ +7 ms] executing: [/opt/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +16 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[ ] 8af6b2f038c1172e61d418869363a28dffec3cb4
[ ] executing: [/opt/flutter/] git tag --contains HEAD
[ +116 ms] Exit code 0 from: git tag --contains HEAD
[ +1 ms] 1.17.5
[ +4 ms] executing: [/opt/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[ +1 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[ ] origin/stable
[ ] executing: [/opt/flutter/] git ls-remote --get-url origin
[ +1 ms] Exit code 0 from: git ls-remote --get-url origin
[ ] https://github.com/flutter/flutter.git
[ +40 ms] executing: [/opt/flutter/] git rev-parse --abbrev-ref HEAD
[ +2 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[ ] stable
[ +13 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +3 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[ ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[ ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[ +21 ms] Creating project hello_world...
[ +20 ms] "flutter create" took 61ms.
Oops; flutter has exited unexpectedly: "FileSystemException: Exists failed, path =
'/root/.pub-cache/hosted/pub.dartlang.org/flutter_template_images-1.0.0/lib/' (OS Error: Permission denied,
errno = 13)".
[+1043 ms] executing: [/opt/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%ar
[ +2 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%ar
[ ] 11 days ago
[ +5 ms] executing: /opt/flutter/bin/cache/artifacts/engine/android-arm-profile/linux-x64/gen_snapshot
[ +2 ms] Exit code 255 from:
/opt/flutter/bin/cache/artifacts/engine/android-arm-profile/linux-x64/gen_snapshot
[ ] At least one input is required
Usage: gen_snapshot [<vm-flags>] [<options>] <dart-kernel-file>
Common options:
--help
Display this message (add --verbose for information about all VM options).
--version
Print the VM version.
To create a core snapshot:
--snapshot_kind=core
--vm_snapshot_data=<output-file>
--isolate_snapshot_data=<output-file>
<dart-kernel-file>
To create an AOT application snapshot as assembly suitable for compilation
as a static or dynamic library:
--snapshot_kind=app-aot-assembly
--assembly=<output-file>
[--strip]
[--obfuscate]
[--save-debugging-info=<debug-filename>]
[--save-obfuscation-map=<map-filename>]
<dart-kernel-file>
To create an AOT application snapshot as an ELF shared library:
--snapshot_kind=app-aot-elf
--elf=<output-file>
[--strip]
[--obfuscate]
[--save-debugging-info=<debug-filename>]
[--save-obfuscation-map=<map-filename>]
<dart-kernel-file>
AOT snapshots can be obfuscated: that is all identifiers will be renamed
during compilation. This mode is enabled with --obfuscate flag. Mapping
between original and obfuscated names can be serialized as a JSON array
using --save-obfuscation-map=<filename> option. See dartbug.com/30524
for implementation details and limitations of the obfuscation pass.
[ +14 ms] executing: /opt/android-sdk/platform-tools/adb devices -l
⣽[ +17 ms] List of devices attached
[ +2 ms] executing: /opt/android-sdk/platform-tools/adb devices -l
[ +2 ms] List of devices attached
[ +22 ms] executing: /opt/android-sdk/tools/bin/sdkmanager --licenses
如果您使用的是 Arch,这可能适用于您。我在通过 yay/AUR 安装 flutter 时遇到了这个问题。从 https://flutter.dev/docs/get-started/install/linux 手动安装包解决了这个问题。 create 不会尝试访问 /root/ 中的任何内容,我可以 运行 不使用 sudo 的命令。
在我这里发生这个错误是因为我之前运行 flutter 是 root 并且它修改了一个配置文件。
为了解决这个问题,我正确地按照
在我的例子中,快照不是一个选项,尽管它可能适合你。