ターゲットフォルダ内で_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.
_
_.bashrc
_ファイルに移動します。 PATH="$(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
_でリロードします
_Sudo gem install sass
_でsassを再インストールしてみます
それでも同じエラーメッセージ。 _gem list
_はまだsass
を表示しません
今何?
Arch Linuxのデフォルトでは、gem
を実行すると、gemはシステム全体(~/.gem/Ruby/
に)ではなく、ユーザーごとに(/usr/lib/Ruby/gems/
に)インストールされます。
これは、Archでgemを管理するための最良の方法と考えられています。そうしないと、Pacmanによってインストールされたgemに干渉する可能性があるためです。
gem
コマンドをrootとして実行し、--no-user-install
フラグを追加することで、Gemsをシステム全体にインストールできます。このフラグは、--user-install
(システム全体)または--no-user-install
(ユーザーごと、システム全体をオーバーライド)で/etc/gemrc
を~/.gemrc
に置き換えることでデフォルトとして設定できます。
ターミナルに入力します
Sudo gem install sass --no-user-install
Ruby gemsについてはArchwikiを参照してください。ユーザーごとまたはシステム全体でgemをインストールするを読んでください
Sudoを使用してgemをインストールしようとしていますが、システムはユーザーのパスを認識していますが、Sudoユーザーのパスは認識していません。
これを解決するには、~/.bashrc
または.~/zshrc
ファイルに次の行を追加します。
PATH="$(Ruby -e 'print Gem.user_dir')/bin:$PATH"
source
コマンドを使用して、プロファイルファイルを更新するか、ターミナルを再度開きます。
source ~/.zshrc
このようにして、次の例のように、Sudoなしでgemをインストールできます。
gem install rspec