Unity 社区
0
0

Package Manager 报错常见处理

Unity技术博客
官方技术干货、社区动向、学习信息、活动资讯
阅读 1859
2023年11月10日
原帖:https://support.unity.com/hc/en-us/sections/360009266711-Package-Manager
本文整理了使用团结引擎创世版时 Package Manager 常见报错及解决方法。

如何修改built-in package?

问题:

• 我无法修改团结引擎的built-in packages。
• 每当我尝试编辑built-in package时,它会自动恢复至未修改状态。

原因:

团结引擎不支持对built-in packages进行修改,它将回滚built-in packages的任何更改。

解决方法:

将需要更改的package从Library/PackageCache/移动到项目文件夹中的Packages/目录[1],或在将package移动到另一个位置后自定义package manifest[2],从而能够修改built-in package。移动package后,您必须将其从PackageCache/文件夹中删除。
注意:每次尝试请仅使用上述两种方法中的一种。

举例说明:

假设您想要编辑ugui(团结引擎UI)软件包;
[1] 移动到Packages folder.
com.unity.ugui package从Library/PackageCache/路径移动至Packages/路径:
移动前:
移动后:
重要:移动package后,您必须将其从PackageCache/文件夹中删除。
[2]将Package放在其他目录.
如果您想自定义package的位置,您可以将其移动到您想要的目录,并在manifest.json上调整它的位置。
在Packages文件夹中,打开manifest.json并编辑ugui相关信息:
修改前:
修改后:

我无法打开团结引擎,并收到消息提示“无法与团结引擎Package Manager建立连接”,我该怎么办?

问题:

• 我无法打开我的项目。
• 每当我打开团结引擎时,我都会收到一个错误提示:“无法与团结引擎 Package Manager本地服务器进程建立连接”。

原因:

当团结引擎Editor启动团结引擎Package Manager进程,但无法通过地址http://127.0.0.1与之通信时,会出现此错误。
造成这种现象的原因可能有多种,例如HTTP流量被防火墙阻止,或者HTTP流量被代理从该地址重新路由。

解决方法:

Proxy相关解决方法
代理服务器(例如在公司网络上)可能正在从您的机器重定向HTTP流量。如果代理正在拦截http://127.0.0.1上的流量,那么团结引擎Editor可能无法与UPM通信。因此,引擎会自动绕过Package Manager请求的代理。
您可以尝试使用环境变量NO_PROXY或TUANJIE_NO_PROXY来覆盖代理绕过。如果您设置了这些变量,请确保它们的值包括127.0.0.1。例如:
TUANJIE_NO_PROXY=localhost,127.0.0.1,google.com,my-no-proxy-domain.com
也有一些用户反馈道,即使不设置TUANJIE_NO_PROXY变量,引擎也无法与UPM通信,并且明确设置以下变量解决了他们的问题:
TUANJIE_NO_PROXY=localhost,127.0.0.1
此外还有一些用户表示需要确保localhost和127.0.0.1都存在,并且localhost首先列出。
Firewall相关解决方法
在Windows上,通常默认启用一个名为Windows Defender防火墙的防火墙。此防火墙可以防止特定应用程序的入站和出站HTTP连接。因此,当通过团结Hub安装团结引擎Editor时,Hub会自动向Windows Defender防火墙添加一条规则,该规则允许与团结引擎Editor进行入站连接:
要查看您的入站规则:
控制面板>Windows Defender防火墙>高级设置>入站规则
如果您看到团结引擎Editor版本被阻止(红色圆圈图标),请单击右侧窗格中的“属性”,并在“操作”下选择“允许连接”。
如果您没有看到团结引擎Editor版本的规则,请尝试按照以下步骤创建一个:
• 点击新规则...
• 对于规则类型,选择程序。
• 对于程序路径,请输入团结引擎Editor安装的完整路径。
• 对于操作,选择允许连接。
• 对于配置文件,选择所有规则(域、私有、公共)
• 给规则命名,例如“团结引擎Editor”
一些用户反馈,即使有团结引擎Editor版本的现有规则,Windows Defender防火墙似乎仍在阻止来自UPM的入站连接,您可以尝试删除现有规则并重新创建来解决这个问题。

我需要用环境变量集启动团结引擎,我该怎么做?

问题:

• 我需要通过设置一些环境变量来配置团结引擎,但我不知道如何配置。
• 我需要联系我的网络管理员,使用带有一组环境变量的团结引擎。

原因:

您正在尝试通过环境变量将一些配置传递给团结引擎。例如,您希望团结引擎使用由TUANJIE_NO_PROXY环境变量配置的代理服务器。

解决方法:

按照以下说明为您的操作系统设置环境变量:
确保将“MY_VARIABLE_NAME”替换为您的环境变量名称(例如TUANJIE_NO_PROXY),并将“my_variable_value”替换为您要设置的值。
  1. 在Windows上设置环境变量:
• 通过Windows设置:
打开开始菜单>搜索“编辑您帐户的环境变量”
在用户变量下,单击新建...用所需值填写变量名称和变量值字段。
• 通过命令行:
打开开始菜单>键入“cmd”>打开命令提示符
键入以下命令并按回车键:
Setx MY_VARIABLE_NAME my_variable_value
  1. 在Mac上设置环境变量
在Mac上,团结引擎等应用程序不会像Windows上那样从您的设置中继承环境变量。在Mac上将环境变量传递给团结引擎的最佳方式是通过包装脚本。包装脚本将首先设置环境变量,然后启动团结Hub,它将继承您设置的值。
• 打开终端窗口,在将“MY_VARIABLE_NAME”和“my_variable_value”替换为所需值并根据需要调整集线器安装路径后输入以下脚本:
echo '#!/bin/bash
export MY_VARIABLE_NAME=my_variable_value
export MY_OTHER_VARIABLE_NAME=my_other_variable_value
nohup "/Applications/Tuanjie Hub.app/Contents/MacOS/Tuanjie Hub" &>/dev/null &' > launchTuanjieHub.command
chmod +x launchTuanjieHub.command
• 这将创建“launchTuanjieHub.command”文件,您可以将其移动到方便的位置(例如桌面)。
• 双击文件以启动设置环境变量的Hub,或从终端调用它以获得相同的效果。这些环境变量将传递给从Hub启动的任何团结引擎Editor进程。
• 设置环境变量后,您需要重新启动团结引擎Editor和团结Hub。
发布于团结引擎
0条评论

AI

全新AI功能上线

1. 基于Unity微调:专为Unity优化,提供精准高效的支持。

2. 深度集成:内置于团结引擎,随时查阅与学习。

3. 多功能支持:全面解决技术问题与学习需求。

AI