Ubuntu Rake 命令导致分段错误
Ubuntu Rake command causes segmentation fault
我正在尝试设置一个 rails 项目,我必须使用 rake db:create
命令来创建数据库。但是,使用此命令会导致出现以下错误的 Segmentation Fault 错误:
/home/steven/.rvm/gems/ruby-2.2.1/gems/json-1.8.3/lib/json/ext/parser.so: [BUG] Segmentation fault
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
然而,当我 运行 命令 bin/rake db:create
时,我没有遇到分段错误。我用谷歌搜索并找不到这个问题的原因,有谁知道这个问题的原因是什么?这是一个严重的问题吗?
经过进一步测试,这似乎是rake
命令的问题。仍然不确定是什么原因造成的。
编辑
运行 which -a rake
命令给出
/home/steven/.rvm/gems/ruby-2.2.1/bin/rake
/home/steven/.rvm/rubies/ruby-2.2.1/bin/rake
/usr/local/bin/rake
运行 which ruby
给出
/home/steven/.rvm/rubies/ruby-2.2.1/bin/ruby
编辑:此页面看起来有答案:您需要 reload/reinstall ruby.
Issue with json 1.8.1 gem in rails app on production
从你上面所说的,我可以看出你使用的是rvm。看起来默认 rake 的 gemset 是 ruby-2.2.1,但是有一个错误涉及 ruby 1.9.3p484。有问题
假设您要为您的项目使用 ruby 1.9.3p484。在项目目录中,运行 rvm use 1.9.3p484
它应该切换 PATH 变量以正确设置。
要查看有关您正在使用的 rake 可执行文件、可用内容以及目录顺序的更多详细信息Ubuntu 搜索 rake 可执行文件,您可以使用
which -a rake
-> 在你的 PATH 中列出所有可能的 rake 可执行文件
echo $PATH
-> 显示 PATH 变量,其中包含 Ubuntu 搜索的所有目录
which rake
-> 显示默认使用的耙子
现在,bin/rake db:create
起作用的原因是因为它是 ruby 的正确版本。要正确设置,您需要执行 rvm use 命令。
对我来说,当我 cd 到 rails 目录时,会自动切换到正确的 rvm gemset。我完全忘记了它在 Ubuntu 上是如何工作的,但我知道一个线索:你需要登录 shell。您可以键入 su - steven
以切换到登录 shell,但在 Gnome 终端首选项中可能有一些关于确保您处于登录 shell.
的选项
如果您已经登录 shell 但它不起作用,您还可以添加
export PATH=/home/steven/.rvm/rubies/ruby-1.9.3p484/bin:$PATH
到 /home/steven/.bashrc
and/or /home/steven/.bash_profile
文件(我记不起是哪个)。
虽然这不起作用的原因有很多,但请随时评论更多细节或更新您的问题,我会看看是否可以提供更多想法。
- 列表项
我正在尝试设置一个 rails 项目,我必须使用 rake db:create
命令来创建数据库。但是,使用此命令会导致出现以下错误的 Segmentation Fault 错误:
/home/steven/.rvm/gems/ruby-2.2.1/gems/json-1.8.3/lib/json/ext/parser.so: [BUG] Segmentation fault
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
然而,当我 运行 命令 bin/rake db:create
时,我没有遇到分段错误。我用谷歌搜索并找不到这个问题的原因,有谁知道这个问题的原因是什么?这是一个严重的问题吗?
经过进一步测试,这似乎是rake
命令的问题。仍然不确定是什么原因造成的。
编辑
运行 which -a rake
命令给出
/home/steven/.rvm/gems/ruby-2.2.1/bin/rake
/home/steven/.rvm/rubies/ruby-2.2.1/bin/rake
/usr/local/bin/rake
运行 which ruby
给出
/home/steven/.rvm/rubies/ruby-2.2.1/bin/ruby
编辑:此页面看起来有答案:您需要 reload/reinstall ruby.
Issue with json 1.8.1 gem in rails app on production
从你上面所说的,我可以看出你使用的是rvm。看起来默认 rake 的 gemset 是 ruby-2.2.1,但是有一个错误涉及 ruby 1.9.3p484。有问题
假设您要为您的项目使用 ruby 1.9.3p484。在项目目录中,运行 rvm use 1.9.3p484
它应该切换 PATH 变量以正确设置。
要查看有关您正在使用的 rake 可执行文件、可用内容以及目录顺序的更多详细信息Ubuntu 搜索 rake 可执行文件,您可以使用
which -a rake
-> 在你的 PATH 中列出所有可能的 rake 可执行文件
echo $PATH
-> 显示 PATH 变量,其中包含 Ubuntu 搜索的所有目录which rake
-> 显示默认使用的耙子
现在,bin/rake db:create
起作用的原因是因为它是 ruby 的正确版本。要正确设置,您需要执行 rvm use 命令。
对我来说,当我 cd 到 rails 目录时,会自动切换到正确的 rvm gemset。我完全忘记了它在 Ubuntu 上是如何工作的,但我知道一个线索:你需要登录 shell。您可以键入 su - steven
以切换到登录 shell,但在 Gnome 终端首选项中可能有一些关于确保您处于登录 shell.
如果您已经登录 shell 但它不起作用,您还可以添加
export PATH=/home/steven/.rvm/rubies/ruby-1.9.3p484/bin:$PATH
到 /home/steven/.bashrc
and/or /home/steven/.bash_profile
文件(我记不起是哪个)。
虽然这不起作用的原因有很多,但请随时评论更多细节或更新您的问题,我会看看是否可以提供更多想法。 - 列表项