首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新ruby后,bundler出现错误

更新ruby后,bundler出现错误
EN

Stack Overflow用户
提问于 2018-05-21 03:47:11
回答 2查看 507关注 0票数 1

在将ruby版本从2.4.1更新到2.5.1之后,我遇到了一个很大的问题

首先,在更新后,我有一个错误,命令rails不再工作。因此,我将其删除并完全重新安装。在那之后,rails的新功能又开始工作了!但是现在,我遇到了与命令包完全相同的问题。你知道哪里出了问题吗?

代码语言:javascript
复制
Ignoring bcrypt-3.1.11 because its extensions are not built. Try: gem pristine bcrypt --version 3.1.11
Ignoring bigdecimal-1.3.2 because its extensions are not built. Try: gem pristine bigdecimal --version 1.3.2
Ignoring binding_of_caller-0.8.0 because its extensions are not built. Try: gem pristine binding_of_caller --version 0.8.0
Ignoring binding_of_caller-0.7.2 because its extensions are not built. Try: gem pristine binding_of_caller --version 0.7.2
Ignoring bson-4.3.0 because its extensions are not built. Try: gem pristine bson --version 4.3.0
Ignoring byebug-10.0.1 because its extensions are not built. Try: gem pristine byebug --version 10.0.1
Ignoring byebug-10.0.0 because its extensions are not built. Try: gem pristine byebug --version 10.0.0
Ignoring byebug-9.1.0 because its extensions are not built. Try: gem pristine byebug --version 9.1.0
Ignoring byebug-9.0.6 because its extensions are not built. Try: gem pristine byebug --version 9.0.6
Ignoring debug_inspector-0.0.3 because its extensions are not built. Try: gem pristine debug_inspector --version 0.0.3
Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2
Ignoring ffi-1.9.21 because its extensions are not built. Try: gem pristine ffi --version 1.9.21
Ignoring ffi-1.9.18 because its extensions are not built. Try: gem pristine ffi --version 1.9.18
Ignoring gem-wrappers-1.2.7 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.2.7
Ignoring google-cloud-debugger-0.31.0 because its extensions are not built. Try: gem pristine google-cloud-debugger --version 0.31.0
Ignoring json-1.8.6 because its extensions are not built. Try: gem pristine json --version 1.8.6
Ignoring mini_racer-0.1.9 because its extensions are not built. Try: gem pristine mini_racer --version 0.1.9
Ignoring mysql2-0.5.1 because its extensions are not built. Try: gem pristine mysql2 --version 0.5.1
Ignoring mysql2-0.4.10 because its extensions are not built. Try: gem pristine mysql2 --version 0.4.10
Ignoring nio4r-2.3.0 because its extensions are not built. Try: gem pristine nio4r --version 2.3.0
Ignoring nio4r-2.2.0 because its extensions are not built. Try: gem pristine nio4r --version 2.2.0
Ignoring nio4r-2.1.0 because its extensions are not built. Try: gem pristine nio4r --version 2.1.0
Ignoring nio4r-2.0.0 because its extensions are not built. Try: gem pristine nio4r --version 2.0.0
Ignoring nokogiri-1.8.1 because its extensions are not built. Try: gem pristine nokogiri --version 1.8.1
Ignoring nokogiri-1.8.0 because its extensions are not built. Try: gem pristine nokogiri --version 1.8.0
Ignoring nokogiri-1.7.2 because its extensions are not built. Try: gem pristine nokogiri --version 1.7.2
Ignoring pg-0.21.0 because its extensions are not built. Try: gem pristine pg --version 0.21.0
Ignoring psych-2.2.4 because its extensions are not built. Try: gem pristine psych --version 2.2.4
Ignoring puma-3.11.3 because its extensions are not built. Try: gem pristine puma --version 3.11.3
Ignoring puma-3.11.2 because its extensions are not built. Try: gem pristine puma --version 3.11.2
Ignoring puma-3.11.0 because its extensions are not built. Try: gem pristine puma --version 3.11.0
Ignoring puma-3.10.0 because its extensions are not built. Try: gem pristine puma --version 3.10.0
Ignoring puma-3.9.1 because its extensions are not built. Try: gem pristine puma --version 3.9.1
Ignoring puma-3.9.0 because its extensions are not built. Try: gem pristine puma --version 3.9.0
Ignoring puma-3.8.2 because its extensions are not built. Try: gem pristine puma --version 3.8.2
Ignoring rainbow-2.2.2 because its extensions are not built. Try: gem pristine rainbow --version 2.2.2
Ignoring rinku-2.0.4 because its extensions are not built. Try: gem pristine rinku --version 2.0.4
Ignoring sqlite3-1.3.13 because its extensions are not built. Try: gem pristine sqlite3 --version 1.3.13
Ignoring websocket-driver-0.6.5 because its extensions are not built. Try: gem pristine websocket-driver --version 0.6.5
Your Ruby version is 2.5.1, but your Gemfile specified 2.4.1

最后一行说我必须用ruby 2.5.1更新gemfile,但是当我执行ruby -v时,响应是ruby 2.4.1。如果我改变它,命令rails s就不会运行。

我也尝试过:

代码语言:javascript
复制
gem pristine --all

但是它给了我一个新的错误:

代码语言:javascript
复制
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /Users/Mesnet/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.1/CHANGELOG.md

所以我现在真的处于一个困难的境地。正因为如此,我不能在工作中做任何事情。任何想法都会很棒!!

EN

回答 2

Stack Overflow用户

发布于 2020-11-13 02:18:04

要运行gem pristine --all,您必须是根用户,所以只需运行

代码语言:javascript
复制
sudo gem pristine --all

这应该可以解决这个问题。如果不是这样,那么如果您正在使用rvm,那么您可能也会遇到问题。所以也要这样做:

代码语言:javascript
复制
rvm get stable
rvm reload
票数 0
EN

Stack Overflow用户

发布于 2018-05-21 04:05:30

你可以安装RVM(Ruby Version Machine)并使用你想要的所有版本的ruby。用于Ubuntu的命令

代码语言:javascript
复制
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable
rvm install 2.5.1
rvm use 2.5.1
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50438790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档