Rails [solved] rails 安装问题 Rails is not currently installed on this system(裸装,没用虚拟环境)

zzz6519003 · 2023年04月23日 · 最后由 zzz6519003 回复于 2023年04月25日 · 524 次阅读

新 mac 直接 gem install rails

提示我 ruby 版本太旧了 2.XX

我就直接 brew 安装了 ruby,貌似成功了

➜  ruby ruby -v 
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]

再 gem install rails,提示成功了

于是我尝试

➜  ruby rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

再次安 rails

➜  ruby sudo gem install rails
Password:
Successfully installed rails-7.0.4.3
Parsing documentation for rails-7.0.4.3
Done installing documentation for rails after 0 seconds
1 gem installed

重复 rails -v,一样的

➜  ruby rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

解决了:

➜  ruby vi ~/.zshrc 

export PATH="/opt/homebrew/lib/ruby/gems/3.2.0/bin:$PATH"

揣测这个 3.2.0 是否代表的是 gems 这个软件版本 不是 ruby

反思

当年不求甚解 只求 caokuaimeng 很多基本概念都没懂 我甚至没用过gem env

运行 gem env 会看到一行:

- EXECUTABLE DIRECTORY: /opt/homebrew/lib/ruby/gems/3.2.0/bin

在你用的 shell 配置(~/.bashrc 或者 ~/.zshrc)把这个路径加到 PATH

export PATH="/opt/homebrew/lib/ruby/gems/3.2.0/bin:$PATH"

打开新的 shell 让它生效。

应该是因为,没有把 $GEM_HOME/bin 加入到 $PATH 变量中。

首先,查看一下 gem env:

- GEM PATHS:
   - /Users/daqing/.gems
   - /Users/daqing/.local/share/gem/ruby/3.2.0
   - /Users/daqing/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0

然后看一下 $PATH 变量:

echo $PATH

然后把对应的 gem path,加入到 $PATH 变量中。

你 sudo 把 gem 装到 root 用户的家目录里去了?

楼主是有特别的原因需要用系统级的 ruby?不然用 rtx 管理版本还是很方便的

我也用的 brew 装的 ruby,你需要:

echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> /Users/yourname/.bash_profile
ericguo 回复

我用的 zsh 没看到有这个文件,我猜是.zprofile?

xinyifly 回复

是的。我直接 sudo gem install rails

zhengpd 回复

怕麻烦。。。。

daqing 回复

哇塞

  • GEM PATHS:
    • /Library/Ruby/Gems/2.6.0
    • /Users/mac/.gem/ruby/2.6.0
    • /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0

只有 2 的版本。。。。看来得把 3 的 gem 表弄进去?

另外这三个 path 应该是默认存在的吧,我的“gem”本身可能也需要升级下

Rei 回复

哈哈 最晚读你的 结果你这是一剑封喉

需要 登录 后方可回复, 如果你还没有账号请 注册新账号