UnauthorizedAccessException:访问路径 [ios/ Mac os Mojava / Unity



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

现在,当我第一次打开该项目时(我主要在该项目的Android版本的Windows计算机上工作,仅使用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 PC上构建,因为Firebase不允许从未使用MacOsX的计算机进行iOS构建。

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

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

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

--帕特里克

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

最新更新