0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ruby on Railsのインストールエラー2(`You don't have write permissions`、`Rails is not currently installed on this system.`)

Last updated at Posted at 2020-12-29

(Ruby on Railsのインストールエラー(error reading '/dev/fd/9')の続きです。)
しかし苦難はまだまだここからでした。
#壁1 You don't have write permissions
インストールを試みたところ、以下のメッセージが...

$ gem install rails -v "5.2.4.1"
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

ここで、You don't have write permissionsを検索してみたところ、
gem installでpermissionエラーになった時の対応方法
Railsがインストールできないときの対応|You don't have write permissionsとでてしまう
という記事があったので試してみたのですが、

$ which gem
/Users/ken/.rbenv/shims/gem
$ which ruby
/Users/ken/.rbenv/shims/ruby

パスは正常でした。
そして、

$ sudo gem install bundler
Fetching: bundler-2.2.3.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

スーパーユーザー権限での実行時にも同じエラーが出てしまいました。

ここでいろいろググり、いろいろ試しました。
うまくいったのが以下の操作でした。

$ rbenv global 2.6.6

これは、システム全体で使うrubyのバージョンを指定するコマンドとのことでした。(参考リンクrbenv | global と local と .ruby-version の微妙な関係)
そうすると、

$ gem install rails
Fetching activesupport-6.1.0.gem
Fetching rack-test-1.1.0.gem
Fetching i18n-1.8.5.gem
〜〜〜〜
(省略)
〜〜〜〜
Installing ri documentation for rails-6.1.0
Done installing documentation for concurrent-ruby, i18n, tzinfo, zeitwerk, activesupport, rack, rack-test, mini_portile2, nokogiri, crass, loofah, rails-html-sanitizer, rails-dom-testing, builder, erubi, actionview, actionpack, activemodel, activerecord, globalid, activejob, mini_mime, mail, actionmailer, nio4r, websocket-extensions, websocket-driver, actioncable, mimemagic, marcel, activestorage, actionmailbox, actiontext, thor, method_source, railties, sprockets, sprockets-rails, rails after 70 seconds
39 gems installed

ふう、苦労かけやがって。
しかし、さらなる苦難が待ち受けます...
#壁2 Rails is not currently installed on this system.
インストールしたrailsのバージョンを確認してみます。

$ 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.

ん???
$ sudo gem install railsはまさに直前に実行したコマンドです。
僕が親友によくやる「最近元気?」って聞いて「聞いてねえよ」で返すやつと同じですね。
こちらは無限 Rails is not currently installed on this system. 問題の調査を参考に解決させていただきました。
実際の操作は以下となります。

$ hash rails

原因を簡潔にまとめると、以下のようになります。
・railsコマンドが2箇所に存在した。
・ハッシュテーブルにrailsコマンドが記録されてしまっていた。
・railsをインストールするPathとhashのPathが異なっていた。

ということで、再度railsのバージョンを確認してみると

$ rails --version
Rails 6.1.0

無事にインストールが確認できました。
というより、インストールはできていたんですね。

同じようにインストールで苦労されている方の参考になれば嬉しいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?