
當嘗試在目標資料夾內執行時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
我嘗試重新安裝 sasssudo gem install sass
還是一樣的錯誤訊息。gem list
還是沒有顯示sass
現在怎麼辦?
答案1
預設情況下,在 Arch Linux 中,運行時gem
,gems 會按使用者安裝(到~/.gem/ruby/
),而不是系統範圍(到/usr/lib/ruby/gems/
)。
這被認為是在 Arch 上管理寶石的最佳方式,因為否則它們可能會幹擾 Pacman 安裝的寶石。
gem
可以透過以 root 身分執行命令並附加標誌來在系統範圍內安裝 Gems --no-user-install
。此標誌可以透過替換--user-install
為--no-user-install
in /etc/gemrc
(系統範圍)或~/.gemrc
(每個用戶,覆蓋系統範圍)來設定為預設值。
輸入你的終端
sudo gem install sass --no-user-install
答案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