【问题标题】:UnauthorizedAccessException: Access to the path [ios/ Mac os Mojava / Unity 19.2.0] failing to build projectUnauthorizedAccessException:访问路径 [ios/Macos Mojave/Unity 19.2.0] 无法构建项目
【发布时间】:2019-09-18 08:46:51
【问题描述】:

上周我能够在完全相同的 Macbook pro 上构建完全相同的项目,但现在我不再是,我不明白为什么。

现在当我第一次打开项目时(我主要在 Windows 计算机上为这个项目的 android 版本工作,使用 mac 只是为了进行构建)它说:

解析包时出错:

 One or more packages could not be added to the local file system:
    com.unity.collab-proxy: EPERM: operation not permitted, unlink '/Users/dondoo/Desktop/Grove_Anniversary/Library/PackageCache/com.unity.collab-proxy@1.2.16/CHANGELOG.md'
    com.unity.ext.nunit: EPERM: operation not permitted, unlink '/Users/dondoo/Desktop/Grove_Anniversary/Library/PackageCache/com.unity.ext.nunit@1.0.0/.gitlab-ci.yml'
    com.unity.ide.rider: EPERM: operation not permitted, unlink '/Users/dondoo/Desktop/Grove_Anniversary/Library/PackageCache/com.unity.ide.rider@1.0.8/.editorconfig'
    com.unity.ide.vscode: EPERM: operation not permitted, unlink '/Users/dondoo/Desktop/Grove_Anniversary/Library/PackageCache/com.unity.ide.vscode@1.0.7/CHANGELOG.md.meta'
    com.unity.test-framework: EPERM: operation not permitted, unlink '/Users/dondoo/Desktop/Grove_Anniversary/Library/PackageCache/com.unity.test-framework@1.0.13/CHANGELOG.md'
    com.unity.textmeshpro: EPERM: operation not permitted, unlink '/Users/dondoo/Desktop/Grove_Anniversary/Library/PackageCache/com.unity.textmeshpro@2.0.1/.gitlab-ci.yml'

然后当我重新打开它时它崩溃了,但是当我尝试构建时,我得到了这个错误:

UnauthorizedAccessException: Access to the path "/Users/dondoo/Desktop/Grove_Anniversary/Temp/StagingArea/Data/Managed/Vuforia.UnityExtensions.dll" is denied.
System.IO.File.Delete (System.String path) (at <a8ed250850854b439cedc18931a314fe>:0)
UnityEditorInternal.AssemblyStripper.RunAssemblyStripper (System.Collections.IEnumerable assemblies, System.String managedAssemblyFolderPath, System.String[] assembliesToStrip, System.String[] searchDirs, System.String monoLinkerPath, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, UnityEditor.RuntimeClassRegistry rcr, UnityEditor.ManagedStrippingLevel managedStrippingLevel) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:412)
UnityEditorInternal.AssemblyStripper.StripAssemblies (System.String managedAssemblyFolderPath, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, UnityEditor.RuntimeClassRegistry rcr, UnityEditor.ManagedStrippingLevel managedStrippingLevel) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:246)
UnityEditorInternal.IL2CPPBuilder.Run () (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:326)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:63)
UnityEditor.iOS.PostProcessiPhonePlayer.CrossCompileManagedDlls (UnityEditor.iOS.PostProcessiPhonePlayer+BuildSettings bs, UnityEditor.iOS.PostProcessiPhonePlayer+ProjectPaths paths, UnityEditor.AssemblyReferenceChecker checker, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport buildReport) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:813)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (UnityEditor.iOS.PostProcessiPhonePlayer+BuildSettings bs, UnityEditor.iOS.PostProcessiPhonePlayer+ProjectPaths paths, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport buildReport) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:635)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (UnityEditor.iOS.PostProcessorSettings postProcessorSettings, UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:582)
UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:45)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:49)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Modules/DefaultBuildPostprocessor.cs:27)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:281)
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()

我已尝试重新导入所有内容。 我尝试过不同版本的统一。 我无法在 Windows 电脑上构建,因为 firebase 不允许从不使用 MacOsX 的计算机构建 ios。

【问题讨论】:

    标签: macos firebase unity3d build vuforia


    【解决方案1】:

    简短的回答是,如果 Unity 正在运行,删除库目录是安全的。在机器之间共享项目时,我实际上将LibraryTempobjLogs 添加到我的.gitignore 文件中。

    我确实在您的日志中注意到 /Users/dondoo/Users/builduser。您还想确保需要访问您的 Unity 项目的任何用户帐户都可以获取它(即:如果您以 builduser 运行 Unity,但该文件夹只能由 dondoo 访问,那么您将度过一段糟糕的时光)。由于您在自动生成的Library 目录中似乎有问题,因此可能是这种情况。此外,如果您当前通过另一个 Unity 实例打开项目,您可能会遇到问题(例如:您正在编辑为 dondoo 但随后 builduser 尝试进行自动构建)。

    希望我的第一个答案能解决它,但如果没有,还有一些事情要检查!

    --帕特里克

    【讨论】:

    • 笔记本电脑只有一个用户帐户,这是我一周前用来构建项目的同一台笔记本电脑。唯一改变的事情与任何可能破坏项目的事情(即让 ui 出现或消失)无关,我实际上试图引入我对相同项目的许多备份中的一个并且遇到完全相同的问题,所以我认为问题必须与机器或统一或 Vuforia 相关。我也刚刚注意到 Library 和 Temp 文件夹都说它们下面的空间不足,即使机器有足够的空间。
    • 您是否尝试删除 Library 和 Temp?只要此时 ​​Unity 没有运行,它就应该是安全的(实际上,关闭 Unity 时 temp 应该会消失)。
    【解决方案2】:

    我通过删除项目附带的库和临时文件夹并让 unity 重建它们来解决问题。

    【讨论】:

      猜你喜欢
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多