使用 rails generate 创建控制器会导致奇怪的错误
Creating a controller with rails generate is causing a strange error
我今天尝试启动一个简单的 rails 应用程序来刷新我的知识并 运行 进入一个非常难 运行ge 的问题...
- 已创建应用(rails 新应用名称)。
- 已创建具有索引操作的控制器(rails g 控制器站点索引)。
- 将根路由设置为站点#index。
- 启动 rails 服务器。
服务器尝试呈现站点的索引视图,但突然中止并出现以下错误:
dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
Referenced from: /Users/Marco/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
Expected in: /usr/lib/libffi.dylib
dyld: Symbol not found: _ffi_prep_closure_loc
Referenced from: /Users/Marco/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
Expected in: /usr/lib/libffi.dylib
我试过(未成功):
- 正在升级我的 ruby 版本,然后将我的 rails 版本升级到最新版本。
- 正在重新安装我所有的 gem。
- 正在删除 ffi_c.bundle 的路径并重新安装 ffi。
什么是st运行ge,如果我手动创建控制器和视图,一切正常!
我看到了一个关于某个相关问题的建议,试图将我机器上的 C 编译器更改为默认值,但我不明白为什么有必要这样做,我想更深入地了解怎么回事。
我遇到了同样的问题,是的,文件存在。我将我的项目回滚到 ffi '~> 1.12.2',它再次运行良好。
看来问题与libffi版本冲突有关。
解决方法:gem inst ffi -- --disable-system-libffi
我提出了一个问题,请看这里:https://github.com/ffi/ffi/issues/791
我今天尝试启动一个简单的 rails 应用程序来刷新我的知识并 运行 进入一个非常难 运行ge 的问题...
- 已创建应用(rails 新应用名称)。
- 已创建具有索引操作的控制器(rails g 控制器站点索引)。
- 将根路由设置为站点#index。
- 启动 rails 服务器。
服务器尝试呈现站点的索引视图,但突然中止并出现以下错误:
dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
Referenced from: /Users/Marco/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
Expected in: /usr/lib/libffi.dylib
dyld: Symbol not found: _ffi_prep_closure_loc
Referenced from: /Users/Marco/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
Expected in: /usr/lib/libffi.dylib
我试过(未成功):
- 正在升级我的 ruby 版本,然后将我的 rails 版本升级到最新版本。
- 正在重新安装我所有的 gem。
- 正在删除 ffi_c.bundle 的路径并重新安装 ffi。
什么是st运行ge,如果我手动创建控制器和视图,一切正常!
我看到了一个关于某个相关问题的建议,试图将我机器上的 C 编译器更改为默认值,但我不明白为什么有必要这样做,我想更深入地了解怎么回事。
我遇到了同样的问题,是的,文件存在。我将我的项目回滚到 ffi '~> 1.12.2',它再次运行良好。
看来问题与libffi版本冲突有关。
解决方法:gem inst ffi -- --disable-system-libffi
我提出了一个问题,请看这里:https://github.com/ffi/ffi/issues/791