
适用版本Houdini 22 及以上本文实测 22.0.368。SHFS 是 Houdini 22 才引入的机制更早的版本没有这个东西也就不会遇到这个提示。实测环境Windows 11 Houdini 装在E:\3D\Houdini。一、问题现象把 Houdini 装到 C 盘以外的盘之后每次启动都会看到这么一条提示SHFS not current installed: E:/3D/shfs注意原文就是这个语法current installed不是currently——按这串原文搜就对了。点掉之后 Houdini 能正常启动、正常用但会缺东西自带的示例 / 测试内容全部不可用比如 Test Geometry 节点里的 Otto、Capybara、Electra以及配套的测试贴图和视频。二、原因Launcher 把 SHFS 下错地方了从 Houdini 22 开始官方把「示例 / 测试内容」从安装包里拆了出来单独做成一个叫SHFS的共享包多个 Houdini 版本共用同一份共 145 个必需文件、约810 MB。Houdini 找它的位置是写死的$HFS 的上一级目录 \shfs也就是说Houdini 装在E:\3D\Houdini它就会去E:\3D\shfs找。而官方Houdini Launcher 有个坑即使你把 Houdini 本体装到了别的盘SHFS 依然会被下到 C 盘的默认位置——C:\Program Files\Side Effects Software\shfs两边对不上于是每次启动都报。三、先确认你自己的两个路径1. 看 Houdini 期望 SHFS 在哪里打开 cmd把开头的路径换成你自己的 Houdini 安装目录E:\3D\Houdini\bin\hython.exe -c import os; print(HFS , os.environ[HFS]); print(SHFS , os.environ[SHFS])输出示例HFS E:/3D/HoudiniSHFS E:/3D/shfs第二行的SHFS就是它期望 SHFS 所在的位置报错信息里那个路径也是它。2. 看 Launcher 实际把它下到哪里了dir C:\Program Files\Side Effects Software\shfs如果里面有houdini这个子文件夹、体积 800 MB 左右说明文件早就下好了只是放错了地方——那么照下面任选一种解法搬一下就行。四、四种解法选一个就行解法 1把文件挪到正确位置推荐最稳把 Launcher 下好的那份整个复制到 Houdini 期望的位置。假设你的期望路径是E:\3D\shfs在 cmd 里执行robocopy C:\Program Files\Side Effects Software\shfs E:\3D\shfs /E/E—— 连子目录一起复制含空目录/MOVE—— 复制完删掉源目录省一份空间。想保留原件就别加⚠️ 注意复制完的目录层级应该是E:\3D\shfs\houdini\...而不是E:\3D\shfs\shfs\houdini\...。我自己的机器上就是这么解决的把 Launcher 下好的那份复制到安装目录的上一级145 个文件 / 810 MB逐个校验通过重启后提示消失。复制到 Program Files 需要管理员权限所以在「以管理员身份运行」的 cmd 里做。解法 2设环境变量指过去不搬文件不想动文件也可以直接告诉 Houdini「SHFS 在那边」。系统属性 → 环境变量 → 新建系统变量或用户变量都行SHFS C:\Program Files\Side Effects Software\shfs或者用另一个变量查找效果一样两个变量的区别见下面那条注意HOUDINI_SHFS_PATH C:\Program Files\Side Effects Software\shfs这两个变量的区别官方文档原文SHFS—— 共享文件的根目录本身HOUDINI_SHFS_PATH—— Houdini 去哪些路径找这个根目录默认值就指向 $SHFS⚠️ 实测一个很容易踩的点HOUDINI_SHFS_PATH 是「替换」而不是「追加」。把它指到 B 目录之后原来 A 目录里的文件就找不到了——我实测把查找路径指到新目录后老目录里独有的文件查询结果直接变成 False。所以别想着两边都留着二选一。解法 3建目录联接不复制、不占第二份空间如果 C 盘和 Houdini 不在同一个盘又不想多占 810 MB可以建一个目录联接Junction让期望位置「指向」Launcher 那份。在 cmd 里执行mklink /J E:\3D\shfs C:\Program Files\Side Effects Software\shfsmklink 是 cmd 的内置命令必须在 cmd 里跑PowerShell 里直接敲会提示找不到命令。对应的 PowerShell 写法是New-Item -ItemType Junction -Path E:\3D\shfs -Target C:\Program Files\Side Effects Software\shfs⚠️ 建之前目标位置不能已经存在目录已存在会直接报错有就先把原来的改名或删掉。目录联接对上层程序是完全透明的——Houdini 读到的就是里面的真实文件。我实测过通过联接hou.shfs.isInstalled() 对三个文件的检查全部返回 True和直接读真实目录没有任何区别。删除联接用rmdir E:\3D\shfs实测本机三种删法cmd 的 rmdir、Git Bash 的 rm -rf、PowerShell 的 Remove-Item -Recurse都只删掉链接本身、不会动目标目录里的内容但稳妥起见建议就用 rmdir。解法 4让 Houdini 自己重新下Houdini 自带一个修复脚本 shfs_repair.py在Houdini 安装目录\houdini\python3.13libs\shfs_repair.pypython3.13libs这个目录名跟着 Houdini 内置的 Python 版本走别的版本可能是python3.11libs之类按实际情况找。它会照着 $HFS\shfs\file_list.json 里的清单把缺的文件下到当前 SHFS 目录。执行cd /d E:\3D\Houdini\binhython.exe ..\houdini\python3.13libs\shfs_repair.py想连可选文件一起下加 --optionalhython.exe ..\houdini\python3.13libs\shfs_repair.py --optional实测三点注意事项下载默认往SHFS 那个目录写。这时候改HOUDINI_SHFS_PATH是没用的它是查找路径不管下载落盘要改就改SHFS变量。服务器偶尔会失败实测遇到过 HTTP 500 和 SSL 连接错误隔一会儿重跑一次通常就好了。下到一半中断的话目录里会留下.hdownload后缀的临时文件重跑脚本即可。五、怎么确认修好了方法一重启 Houdini启动提示消失。方法二不用开界面用 hython 直接问更快E:\3D\Houdini\bin\hython.exe -c import hou; print(hou.shfs.isInstalled(houdini/pic/testimage/stump.heic))打印True就是通了False说明还没找对地方。方法三在 Houdini 里建一个 Test Geometry: Otto 节点能正常出模型就对了。六、常见问题Q这 810 MB 不装行不行行。那条提示只是个提醒Houdini 本身能正常启动和工作缺的只是自带的示例 / 测试内容。但你迟早会用到 Test Geometry 节点建议装上。Q必需文件和可选文件有什么区别必需 145 个约 809 MB是示例几何体、测试贴图 / 视频这些可选 23 个约 6.3 GB全是 AI 节点的模型权重Neural Terrain、SAM2 图像分割、MoGe2 深度估计等。不用 AI 节点的话可选部分完全不需要下。Q设置环境变量后要重启吗要。环境变量对已经打开的进程不生效改完把 Houdini 完全关掉再重新启动。QHoudini 升级后还要重来一遍吗不用。SHFS 本来就是给多个 Houdini 版本共用的一份装一次所有版本共享。除非你换了 SHFS 的存放位置。Q能不能干脆把 SHFS 删掉让提示消失不能删了还是「找不到」。要么让它找得到要么按解法 2 把它指到一个空目录——但那和没装是一回事不如直接装上。Q我按文章改完还是报同样的错按顺序检查三件事① 复制完的目录层级对不对别多套一层 shfs② 环境变量是不是设了两处互相打架③ 是不是在「查找路径」上指了 A、而文件在 B。用第五节的 hython 命令验证一下输出 False 就是还没对。七、命令速查目的命令查 Houdini 期望的 SHFS 位置安装目录\bin\hython.exe -c import os; print(os.environ[SHFS])查 Launcher 下到哪了dir C:\Program Files\Side Effects Software\shfs复制到正确位置robocopy C:\Program Files\Side Effects Software\shfs E:\3D\shfs /E建目录联接mklink /J E:\3D\shfs C:\Program Files\Side Effects Software\shfs删除目录联接rmdir E:\3D\shfs重新下载必需文件hython.exe ..\houdini\python3.13libs\shfs_repair.py重新下载含可选文件hython.exe ..\houdini\python3.13libs\shfs_repair.py --optional验证是否修好hython.exe -c import hou; print(hou.shfs.isInstalled(houdini/pic/testimage/stump.heic))八、本文的验证记录下面这些结论不是照文档抄的是在本机上逐条跑出来的列出来供参考结论怎么验的结果Houdini 期望 SHFS 在 $HFS 的上一级hython 读 os.environ[SHFS]HFSE:/3D/Houdini → SHFSE:/3D/shfsLauncher 下到了 C 盘dir 该目录确实在 C:\Program Files\Side Effects Software\shfs145 个文件 / 810 MB那份文件是完整可用的把它设成 SHFS 再查三个文件全部 TrueHOUDINI_SHFS_PATH 是替换不是追加指到新目录后再查老目录独有的文件老目录文件变成 False所以别两边都留它只管查找、不管下载设了它再调用下载文件仍然下到 $SHFS没进它指的目录SHFS 变量既管查找也管下载指到空目录后跑 shfs_repair.py25 秒下了 6 个文件 / 15 MB落点正确目录联接对 Houdini 透明建联接后再查三个文件全部 True与真实目录无差别删联接不会动目标内容建联接后分别用 rmdir / rm -rf / Remove-Item -Recurse 删三种都只删链接目标文件完好shfs_repair.py 可用文件齐全时整跑一遍退出码 0约 2 秒完成只校验不下载九、小结一句话SHFS 必须待在「Houdini 安装目录的上一级 \shfs」而 Launcher 默认把它下到了 C 盘。搬过去、或者用环境变量 / 目录联接指过去都能解决。搬文件最稳目录联接最省空间环境变量最省事——按自己的情况挑一个。