Skip to content

安装过程遇到的坑和修复 #41

@ethology-github

Description

@ethology-github

安装过程一直报错,最后用hermes全过程重新配置,解决问题。

过程中的问题及解决方法如下:

问题一:Gatekeeper 签名验证失败

错误现象

双击 /Applications/TypeNo.app 报错:

"TypeNo.app" 已损坏,无法打开,你应该将它移到废纸篓

spctl -av /Applications/TypeNo.app 报错:

a sealed resource is missing or invalid

根本原因:从 GitHub 下载的 zip 包解压后,包含了 AppleDouble 文件(._Info.plist 等),这些文件破坏了代码签名的密封验证。

解决方法

# 1. 解压 zip 包
unzip -o TypeNo.app.zip
# 2. 删除所有 ._ 开头的 AppleDouble 文件
rm -f TypeNo.app/Contents/._*
# 3. 验证签名
spctl -av TypeNo.app
# 应输出:accepted / source=Notarized Developer ID
# 4. 安装到 Applications
cp -pR TypeNo.app /Applications/

关键unzip 会自动生成 AppleDouble 文件,必须手动删除。cp -pR 保留了所有文件属性包括签名信息。


问题二:App Translocation(应用易地)

错误现象

  • /Applications 双击打开后,Activity Monitor 显示路径为:
    /private/var/folders/.../AppTranslocation/.../TypeNo.app/...
    
  • 菜单栏没有出现 TypeNo 图标
  • 隐私权限设置中找不到 TypeNo

根本原因

macOS 的 App Translocation 机制。当从网络下载或某些方式安装的应用,即使复制到 /Applications,首次双击运行时系统可能仍将其视为"易地"副本,复制到临时路径执行,导致:

  • 应用不在预期位置
  • 系统权限(麦克风、辅助功能)授权不生效
  • coli 引擎可能无法正确定位

解决方法

# 使用终端通过 open 命令启动,不要直接双击
open /Applications/TypeNo.app

正确启动后,Activity Monitor 中路径应为:

/Applications/TypeNo.app/Contents/MacOS/TypeNo

预防措施

如果 Launchpad 中出现重复图标(一个正常、一个是临时副本),将重复的拖到废纸篓删除。

问题三:Node.js v25 与 coli native addon 不兼容

错误现象

TypeNo 运行后提示:

node.js version incompatibility with native addon.
try: npm install -g @marswave/coli --build-from-source

根本原因

@marswave/coli 预编译的 native addon 二进制文件基于较低版本的 Node.js 编译,与 Node.js v25.8.1 不兼容。

解决方法

npm install -g @marswave/coli --build-from-source

从源码编译后,native addon 与当前 Node.js 版本兼容。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions