すべてのgemインストールでSudoを実行する必要がありますか?そう
Sudo gem install Rails
動作しますが、
gem install Rails
動作しないでしょう。どうすれば修正できますか?
Rvmがインストールされています-
murtaza@murtaza-dev:~$ which rvm
/home/murtaza/.rvm/bin/rvm
murtaza@murtaza-dev:~$ which gem
/home/murtaza/.rvm/rubies/Ruby-1.9.3-p194/bin/gem
ただし、gemで操作を行うときにもこの警告が表示されます-
murtaza@murtaza-dev:~$ gem
/home/murtaza/.rvm/rubies/Ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
[〜#〜] edit [〜#〜]
curl -L get.rvm.io | bash -s stable --auto
(Sudoなし)を使用してrvmを再インストールしました。
ただし、gemをインストールしようとすると、次のエラーが表示されます-
murtaza@murtaza-dev:~$ gem install Rails
/home/murtaza/.rvm/rubies/Ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/murtaza/.gem/specs
[〜#〜] edit [〜#〜]
私はすべてを理解しましたが、それでもエラーが発生しました-
murtaza@murtaza-dev:~$ Sudo chown murtaza.murtaza -R ~/.rvm/*
murtaza@murtaza-dev:~$ gem install Rails
/home/murtaza/.rvm/rubies/Ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/murtaza/.gem/specs
.rvm
および.gem
ディレクトリ全体でchown
を使用して、ユーザーに戻します。おそらく以前にSudo
を使用していた可能性があり、アクセス許可を台無しにしました。
Sudo chown -R username:group ~/.rvm
Sudo chown -R username:group ~/.gem
もちろん、ユーザー名をユーザー名に変更し、グループをグループに変更します
Sudoを使用せずにインストールすると、Rubyはどこにインストールされるかわかりません。デフォルトでどこにインストールされるのか覚えていないでしょう。 、GEM_HOME環境変数を設定することで、Rubyがインストールされている場所を知ることができます。
$ # assuming your gems are stored in ~/.gems
$ GEM_HOME="$HOME/.gems" Ruby my_program.rb
それが機能する場合は、〜/ .bashrcに入れます(システムによっては、このファイルが入り込む可能性のあるファイルがいくつかあります)
Macユーザーの場合、これは私のために働く...
.bash_profile
に追加しますたとえば、nano ~/.bash_profile
を追加し、エクスポートがGEM_HOME=/Users/Michael/.gem
を追加します。ここで、パスは独自のホームフォルダーになります
.bash_profile
にも、export PATH="$GEM_HOME/bin:$PATH"
を追加します
ソース: http://michaelehead.com/2016/02/06/installing-gems-without-Sudo.html
Ruby Version Manager をインストールする必要があります。インストールされたルビーとgemをホームディレクトリに保存するため、Sudo
を使用してgemをインストールする必要はありません。これ以外にも多くの機能があります。 :)
マックOS
brew install Ruby
編集~/.zshrc
for zsh(Bashの場合は~/.bash_aliases
)
# By default, binaries installed by gem will be placed into:
# /usr/local/lib/Ruby/gems/2.6.0/bin
export GEM_HOME="/usr/local/lib/Ruby/gems/"
export PATH="$GEM_HOME/bin:$PATH"
次の方法で問題を解決しました:(ubuntu 17.10があります)
ターミナルを開いて入力します:
echo "gem: --user-install" >> ~/.gemrc
次に、.bashrcファイルにRubyのbinパスを追加します
export PATH="$PATH:$HOME/.gem/Ruby/x.x.x/bin"
gem install package --install-dir $HOME/.gem
を試してください。
export PATH="$PATH:$HOME/.gem/bin"
の前に述べたようにパスを設定することを忘れないでください。
考慮しなければならないことは、export PATH="$HOME/.gem/bin:$PATH"
のようなPATHの順序を変更することです。たとえば、OS XシステムのローカルディレクトリにRailsをインストールしようとしているが、実行可能ファイルが既に組み込まれている場合に発生する可能性があります。この場合、パスを変更しない場合注文すると、次の出力も表示されます。
Railsは現在このシステムにインストールされていません。最新バージョンを入手するには、次のように入力します。
$ Sudo gem install Rails
その後、「Rails」コマンドを再実行できます。
変数GEM_HOME
をexport GEM_HOME="$HOME/.gems"
のように設定します