解决:Ignoring ffi-1.13.1 because its extensions are not built.
in 技术 with 0 comment

解决:Ignoring ffi-1.13.1 because its extensions are not built.

in 技术 with 0 comment

问题

如果你在执行 pod 相关命令的时候,输出了一堆下面的警告信息:

Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1
Ignoring ffi-1.13.1 because its extensions are not built. Try: gem pristine ffi --version 1.13.1

那么下面的办法可以帮助到你。

也许

你会按照提示信息执行

gem pristine ffi --version 1.13.1

但是,通常您没有系统写入权限,无法将Gem安装到指定的目录中。

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

然后

你可能会使用 sudo

sudo gem pristine ffi --version 1.13.1

并输入密码,但是我猜通常不建议这样做,因为它存在安全风险。

最好

gem install ffi --version 1.13.1 --user-install

--user-install 的解释: --[no-]user-install Install in user's home directory instead

但是

你可能看到如下警告信息:

WARNING:  You don't have /Users/mzying/.gem/ruby/2.6.0/bin in your PATH,
      gem executables will not run.

如果你使用 sudo 命令,那么你应该不会看到这个警告信息(不建议这么做)。

你需要做的仅仅只是把用户的 gem 目录加入 PATH 环境变量中。

vim ~/.zshrc

在最后一行加上(如果存在 export,则增加 :$HOME/.gem/ruby/2.6.0/bin 目录即可)

export PATH=$HOME/.gem/ruby/2.6.0/bin:$PATH

最后,如果你想立马生效则可以直接执行上面命令或者重启命令行窗口。

最后

你重新执行 pod 命令,就不会输出警告信息了。

Usage:

    $ pod COMMAND

      CocoaPods, the Cocoa library package manager.
Responses