You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于通过SPM安装Sourcery时执行命令遇到找不到文件问题的求助

求助:通过SPM安装Sourcery后执行命令提示找不到文件的问题

我之前踩过Sourcery通过SPM安装的同款坑,给你几个排查和解决的思路,应该能帮到你:

  • 先确认路径指向的是可执行文件,而非文件夹
    你执行swift build -c release后,生成的sourcery可执行文件是在.build/release/目录下的。如果你把整个release文件夹复制到了项目根目录,那运行命令得写./release/sourcery——要精准指向文件夹里的可执行文件,而不是只写./release(终端会把它当成文件夹,自然找不到可执行命令)。嫌麻烦的话,也可以直接把.build/release/sourcery这个单独的可执行文件复制到项目根,之后直接运行./sourcery就行。

  • 检查并添加执行权限
    复制过来的可执行文件有时候会丢失执行权限,终端会提示“找不到文件”或者“权限不够”。你可以先给文件加上执行权限:

    chmod +x ./release/sourcery
    

    (如果是直接复制了单个sourcery文件,就用chmod +x ./sourcery),加完权限再试试运行命令。

  • 注意相对路径的写法
    别直接写release/sourcery或者sourcery,一定要加上开头的./,不然终端会去系统的全局PATH里找这个命令,而不是你项目目录里的文件。比如正确的相对路径写法是./release/sourcery,或者你也可以直接写绝对路径(比如/Users/你的用户名/你的项目路径/release/sourcery)。

  • 更省心的替代方案:直接用SPM运行
    其实不用手动复制可执行文件这么麻烦,你可以直接在项目的Package.swift里把Sourcery作为依赖添加,之后在项目根目录下直接执行swift run sourcery就能运行,完全不用处理文件复制和路径问题,我现在自己开发都是这么用的,省了好多事。

  • 最后检查当前终端的工作目录
    先在终端里执行pwd,看看当前所在的目录是不是你的项目根目录。如果不是,用cd命令切换到项目根目录后再运行Sourcery的命令,不然相对路径肯定找不到文件。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 07:48:01