システム全体のアップデート後に Gem インストールが実行されない Arch Linux

システム全体のアップデート後に Gem インストールが実行されない Arch Linux

ターゲットフォルダ内で実行しようとすると、sass --watch scss:cssメッセージが返されますcommand not found

sass がインストールされていたことはわかっています。gem listインストールされたことがもう表示されません。

実行するsudo gem install sassと次のメッセージが表示されます。

WARNING: You don't have /root/.gem/ruby/2.3.0/bin in your PATH
         gem executables will not run.

私は自分のファイルを見に行く.bashrcPATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

/etc/bash.bashrc念のため入れておきました。何も変わりません。

/etc/profile に移動して以下を挿入します:

#Setting the GEM_PATH and GEM_HOME variables may not be necessary, check 'gem env' output to verify whether both variables already exist 
 GEM_HOME=$(ls -t -U | ruby -e 'puts Gem.user_dir')
 GEM_PATH=$GEM_HOME
 export PATH=$PATH:$GEM_HOME/bin

プロフィールを再読み込みします. /etc/profile

sassを再インストールしてみるsudo gem install sass

まだ同じエラーメッセージが表示され、gem listまだ表示されませんsass

次は何をする?

答え1

Arch Linux のデフォルトでは、 を実行すると、gem はシステム全体 ( ) ではなく、gemユーザーごとに ( ) インストールされます。~/.gem/ruby//usr/lib/ruby/gems/

これは、Arch で gem を管理する最良の方法と考えられています。そうしないと、Pacman によってインストールされた gem に干渉する可能性があります。

gemフラグを付加して root としてコマンドを実行することで、システム全体に Gem をインストールできます。このフラグは、(システム全体) または(ユーザーごと、システム全体を上書き)で--no-user-install置き換えることでデフォルトとして設定できます。--user-install--no-user-install/etc/gemrc~/.gemrc

ターミナルに入力

sudo gem install sass --no-user-install

ruby gemsについては、arch wikiをご覧ください。ユーザーごとまたはシステム全体にgemをインストールする方法をご覧ください。

答え2

sudo を使用して gem をインストールしようとしていますが、システムはユーザーのパスを認識していますが、sudo ユーザーのパスを認識していません。

~/.bashrcこれを解決するには、またはファイルに次の行を追加します.~/zshrc

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

コマンドを使用してsourceプロファイル ファイルを更新するか、ターミナルを再度開きます。

zshを使用する場合:

source ~/.zshrc

またはbashで

source ~/.bashrc

この方法では、次の例のように、sudo なしで gem をインストールします。

gem install rspec 

関連情報