从ruby 2.7升级到3.0时出现问题-错误:使用未声明的标识符“RUBY_FUNCTION_NAME_STRING”

bttbmeg0  于 2023-01-25  发布在  Ruby
关注(0)|答案(4)|浏览(522)

我已经为升级rails3.0挣扎了大约一个星期了。
我不完全确定是什么问题,但我认为这可能是由于事实上,我有rvm和rbenv。
我已经按照升级教程从gorails在这里:https://gorails.com/setup/osx/12-monterey
但每当我跑步时:
$ rbenv install 3.0.3
出现以下错误:

In file included from compile.c:40:
./vm_callinfo.h:217:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
    if (debug) rp(ci);
               ^
./internal.h:95:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)

下面是我的错误日志:

In file included from compile.c:40:
./vm_callinfo.h:217:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
    if (debug) rp(ci);
               ^
./internal.h:95:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
                                                                       ^
2 errors generated.
make: *** [compile.o] Error 1

我是一个初级开发人员,大部分时间都在编写RoR,但我真的不了解环境方面的东西,所以如果有人有任何资源可以让我阅读,这将是非常感谢的。如果我遗漏了任何重要的信息,我道歉。请让我知道,我会尽快回复

i2byvkas

i2byvkas1#

此问题是由Xcode命令行工具过时引起的。请使用以下脚本强制更新Xcode命令行工具。

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
gzszwxb4

gzszwxb42#

试试这个,我希望对你有用

brew update
brew upgrade
brew install llvm
export PATH="/usr/local/opt/llvm/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/llvm/lib"
export CPPFLAGS="-I/usr/local/opt/llvm/include"
rbenv install 3.0.3
rbenv rehash
nfg76nw0

nfg76nw03#

最后找到了一个解决方案。基本上有一个操作系统更新和一些命令工具更新没有显示。在强制更新命令工具后,它更新到rub3.0.3没有任何问题。

42fyovps

42fyovps4#

我试过了
sudo xcode-select-s/程序库/开发人员/命令行工具
然后再次安装ruby。希望对你有用

相关问题