运行 rails 新时 Rubygems 问题

Rubygems issue when runnuing rails new

抱歉,这可能是一个基本问题,但我是 rails 的新手。 我想通过命令 rails new projName 启动一个新的 rails 项目。在此过程中,我收到此消息:

run  bundle install

Your user account isn't allowed to install to the system Rubygems.
You can cancel this installation and run:

bundle install --path vendor/bundle

to install the gems into ./vendor/bundle/, or you can enter your password
and install the bundled gems to Rubygems using sudo.

Password:

我不太确定是否应该提供我的密码,但我搜索并 I found that it is safe to do that(或者至少是我所理解的)。

最后我收到这个警告:

Warning: You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance.
* bin/rake: spring inserted
* bin/rails: spring inserted

所以我尝试 运行 gem install Rubygems 我得到了:

ERROR:  Could not find a valid gem 'Rubygems' (>= 0) in any repository
ERROR:  Possible alternatives: ruby_gem, ruby_gem_eg, ruby-rets, ruby-gen, rubyless

我尝试了 gem install rubygems-update,我得到了:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

我已经通过 RVM 安装了 rails,但我不确定为什么会遇到这些权限问题。由于我没有使用宝石的经验,所以我被卡住了,不知道如何解决这些问题。

尝试sudo gem install rubygems-update

好的,我是这样解决的,供参考。我在 thread

中看到了类似的问题

一步一步的解决方案是:

  1. 运行gem env。您应该在 GEM PATHS:

    下看到类似这样的路径列表

    /Library/Ruby/Gems/2.0.0

    /Users/sam/.gem/ruby/2.0.0

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0

  2. 打开您的 ~/.bashrc 文件并添加如下路径:

    导出 GEM_HOME=/Library/Ruby/Gems/2.0.0

    导出路径=$路径:$GEM_HOME:/Users/sam/.gem/ruby/2.0.0:/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0

  3. 打开新的shell和运行gem install rubygems-update。现在没有 sudo 一切都应该 运行 好了。

运行一个就够了:

gem update --system

将 Rubygem 升级到最新版本。