更新系统范围的更新 Arch Linux 后 Gem 安装不执行

And*_*rew 3 linux bash ruby 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.
Run Code Online (Sandbox Code Playgroud)

我去我的.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
Run Code Online (Sandbox Code Playgroud)

我重新加载配置文件 . /etc/profile

我尝试重新安装 sass sudo gem install sass

还是一样的错误信息。gem list仍然没有显示sass

现在怎么办??

val*_*eci 5

您正在尝试使用 sudo 安装 gem,但系统知道您的用户的路径,但不知道 sudo 用户的路径。

要解决此问题,请将以下行添加到您的~/.bashrc.~/zshrc文件中:

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

使用该source命令更新您的配置文件或重新打开您的终端。

如果您使用 zsh:

source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

或者用 bash

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

这样,您将在没有 sudo 的情况下安装您的 gem,如下例所示:

gem install rspec 
Run Code Online (Sandbox Code Playgroud)