【发布时间】:2020-05-16 18:49:07
【问题描述】:
我刚开始使用 Ruby,所以在互联网上查找后,我使用 rvm 安装了它。 ruby 的版本是 2.6.3。这是ruby -v 的输出:
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
我还使用gem install rails 安装了 Rails,并获得了 6.0.2.1 版本。
之后,我使用rails new blog 创建了一个名为 blog 的项目,该项目已创建并在目录中运行 bundle install 并收到以下错误消息:
There was an error while trying to write to
`/home/ramon/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47/versions`.
It is likely that you need to grant write permissions for that path.
之后我运行sudo bundle install 并收到此错误:
Your Ruby version is 2.7.0, but your Gemfile specified 2.6.3
但我的 Ruby 版本已经是 2.6.3。
在互联网上搜索答案后,我尝试了以下解决方案:
sudo gem update bundler
sudo gem install bundler
sudo gem install rails
但是所有这些都返回了相同的错误:
/usr/bin/env: ‘ruby’: No such file or directory
然后我运行which ruby 得到了这个:/home/ramon/.rvm/rubies/ruby-2.7.0/bin/ruby
并添加了这一行 do .bashrc:
export PATH=$PATH:/home/ramon/.rvm/rubies/ruby-2.7.0/bin/ruby
但还是报错。
我尝试将 /etc/login.defs 中的这一行更改为:
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/$
和 /etc/environment 到:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/$
但我不知道该怎么办了,尝试了互联网上的所有解决方案,但没有任何效果。
我尝试过的一件事是以超级用户身份运行 which ruby,但我一无所获。
也许是 PATH 问题或权限问题。但我不知道该怎么办了。
我使用的是 lubuntu 19.04。
【问题讨论】:
-
尝试将此行放在 bashrc/zshrc(shell rc) 文件
export PATH="$PATH:$HOME/.rvm/bin"的末尾并重新打开终端的新窗口并运行rvm list以查看从安装的所有 rubies 的列表rvm,如果有的话,做:rvm use ruby-version-from-list> -
rails 项目的 gemfile 中的 ruby 版本是什么?如果要使用 2.6.3,请将 Gemfile 中的 2.7 更改为 2.6.3。
-
只需使用 rvm 来管理您的 ruby 版本。
-
嘿家伙,很抱歉延迟,不同的时区。刚刚尝试了 Surya 解决方案,但不起作用,我得到了同样的错误,并且 gemfile 指定了 2.6.3。这是我运行 rvm list 时得到的: ruby-2.5.5 [ x86_64 ] =* ruby-2.6.3 [ x86_64 ] ruby-2.7.0 [ x86_64 ] # => - current # =* - current && default # * - 默认
-
我的 ruby 版本是正确的,2.6.3。
标签: ruby-on-rails ruby linux rubygems bundler