我无法在 mac m1 上安装 eventmachine gem

gol*_*cks 10 ruby rubygems eventmachine apple-m1

我有一台新的 m1 mac,但无法安装eventmachinegem,完整日志如下。

\n

我尝试了这些解决方案:

\n\n

同样的错误。

\n

一些信息:

\n
   $ sw_vers\nProductName:    macOS\nProductVersion: 12.2\nBuildVersion:   21D49\n\n   $ bundle --version\nBundler version 2.1.4\n
Run Code Online (Sandbox Code Playgroud)\n

和错误:

\n
   $ gem install eventmachine -v \'1.2.7\'                                                    \n
Run Code Online (Sandbox Code Playgroud)\n
em.cpp:706:13: error: use of undeclared identifier \'rb_thread_select\'; did you mean \'rb_thread_fd_select\'?\n        if ((ret = rb_thread_select(kqfd + 1, &fdreads, NULL, NULL, &tv)) < 1) {\n                   ^~~~~~~~~~~~~~~~\n                   rb_thread_fd_select\n
Run Code Online (Sandbox Code Playgroud)\n

完整输出:https://gist.github.com/goldylucks/8369ea09af4f3f70d707809f4bb700df

\n

有什么想法如何解决这个问题吗?

\n

cav*_*neb 34

我用以下方法解决了这个问题(感谢这条推文):

gem install eventmachine -v '1.2.7' -- --with-ldflags="-Wl,-undefined,dynamic_lookup"
Run Code Online (Sandbox Code Playgroud)


gol*_*cks 0

为我解决这个问题的是像这样安装 ruby​​:

$ arch -x86_64 rbenv install 2.5.5 # or using rvm
Run Code Online (Sandbox Code Playgroud)