当我尝试在目标文件夹内执行时,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
,gem 是按用户安装的(安装到~/.gem/ruby/
),而不是按系统范围安装(安装到/usr/lib/ruby/gems/
)。
这被认为是管理 Arch 上宝石的最佳方式,因为否则它们可能会干扰 Pacman 安装的宝石。
gem
可以通过以 root 身份运行命令并附加标志来在系统范围内安装 Gems 。可以通过在(系统范围) 或(每个用户,覆盖系统范围)中--no-user-install
替换 来将此标志设置为默认值。--user-install
--no-user-install
/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 即可安装您的 gems,如下例所示:
gem install rspec