为什么 rails 服务器 Welcome Aboard 站点向 rbenv 报告不同的 ruby 版本?
Why does rails server Welcome Aboard site report a different ruby version to rbenv?
我在 Debian 上使用 rbenv。 Debian 预装了 ruby 1.9.3。我安装了 rbenv 并用它来安装 ruby 2.1.2。然后我用 rails new
做了一个新的 rails 申请。
rbenv versions
给予
system
* 2.1.2 (set by /home/jordanmorris/code/TestRail/.ruby-version)
rbenv global
给出 2.1.2
rbenv local
(在新的应用程序文件夹中)给出 2.1.2
ruby -v
给出 2.1.2
which ruby
给出 /home/jordanmorris/.rbenv/shims/ruby
但是,当我使用rails server
(node.js)时,查看'Welcome aboard site'并点击"About your application’s environment",它报告:
Ruby version
1.9.3-p484 (x86_64-linux)
为什么这没有按预期显示使用 rbenv 设置的版本,这是否值得关注?
我只安装了 rails 的一个版本,afaik,它报告正确 (4.1.4)。
This 回答对我有帮助。
问题是我使用 sudo
安装了 rails。
rbenv 以每个用户为基础运行。因此,rbenv install
为 jordanmorris 安装了 ruby 2.1.2,而 sudo gem install rails
使用为 root (1.9.3) 安装的唯一版本 ruby/gem 安装了 rails。
之后,每次我运行 rbenv
或ruby
,他们使用rbenv确定的预期rails版本,但每次我运行 rails new
或 rails server
,它将使用安装在 ruby 1.9.3 之上的 rails,这是 rails 现有的唯一实例。
我按照以下步骤修复它:
- 卸载rails及其依赖项(只是因为我喜欢保持整洁的房子)。
- 在不使用
sudo
的情况下安装 rails 及其依赖项。
- 运行
rbenv rehash
.
- 重新生成一个新的应用程序(
rails new
)。
现在,正确的版本显示在“欢迎加入”->“关于您的应用程序的环境”页面中。
另请注意,rails new
命令将创建一个使用 spring 的应用程序。考虑安装 rbenv-binstubs 以避免与 rbenv 存根冲突。
我在 Debian 上使用 rbenv。 Debian 预装了 ruby 1.9.3。我安装了 rbenv 并用它来安装 ruby 2.1.2。然后我用 rails new
做了一个新的 rails 申请。
rbenv versions
给予
system
* 2.1.2 (set by /home/jordanmorris/code/TestRail/.ruby-version)
rbenv global
给出 2.1.2
rbenv local
(在新的应用程序文件夹中)给出 2.1.2
ruby -v
给出 2.1.2
which ruby
给出 /home/jordanmorris/.rbenv/shims/ruby
但是,当我使用rails server
(node.js)时,查看'Welcome aboard site'并点击"About your application’s environment",它报告:
Ruby version
1.9.3-p484 (x86_64-linux)
为什么这没有按预期显示使用 rbenv 设置的版本,这是否值得关注?
我只安装了 rails 的一个版本,afaik,它报告正确 (4.1.4)。
This 回答对我有帮助。
问题是我使用 sudo
安装了 rails。
rbenv 以每个用户为基础运行。因此,rbenv install
为 jordanmorris 安装了 ruby 2.1.2,而 sudo gem install rails
使用为 root (1.9.3) 安装的唯一版本 ruby/gem 安装了 rails。
之后,每次我运行 rbenv
或ruby
,他们使用rbenv确定的预期rails版本,但每次我运行 rails new
或 rails server
,它将使用安装在 ruby 1.9.3 之上的 rails,这是 rails 现有的唯一实例。
我按照以下步骤修复它:
- 卸载rails及其依赖项(只是因为我喜欢保持整洁的房子)。
- 在不使用
sudo
的情况下安装 rails 及其依赖项。 - 运行
rbenv rehash
. - 重新生成一个新的应用程序(
rails new
)。
现在,正确的版本显示在“欢迎加入”->“关于您的应用程序的环境”页面中。
另请注意,rails new
命令将创建一个使用 spring 的应用程序。考虑安装 rbenv-binstubs 以避免与 rbenv 存根冲突。