如何运行Ruby Gem?

26

这可能听起来很蠢,但我最近尝试安装SASS并按照他们的说明操作:

$ gem install sass 
$ sass --watch [...]

所以我跟着做:

root@server:~# gem install sass
Successfully installed sass-3.1.15
1 gem installed
Installing ri documentation for sass-3.1.15...
Installing RDoc documentation for sass-3.1.15...

root@server:~# sass
bash: sass: command not found

尽管我像个傻瓜一样四处寻找像 gem run sass 这样简单的运行方式,或者其他使其正常工作的解决方法,但我基本上还是不知所措。


2
echo $PATH 的输出是什么? - Andrew Marshall
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin (尽管问题已经解决,请参见下文。)感谢您将其引导到正确的轨道上 :) - Xkeeper
5个回答

10

看起来Debian/Ubuntu会将 Ruby Gems 存放在 /var/lib/gems/1.8/bin 目录下。

因此解决方案是(至少适用于 Ubuntu/Debian):

$ sudo -s
# echo 'PATH=/var/lib/gems/1.8/bin:$PATH' > /etc/profile.d/gemspath.sh
# chmod 0755 /etc/profile.d/gemspath.sh

然后打开一个新的 shell 会话。

(这在 Ubuntu 11.10 中已经修复。)


7
在 macOS 上,我需要将 gem 可执行目录添加到路径中。
将这些行添加到您的 ~/.bashrc 文件中,并重新打开终端以刷新环境变量。
# gem                                                                      
gembin=`(gem env | sed -n "s/.*EXECUTABLE DIRECTORY: \(.*\)/\1/p")`
export PATH=$gembin:$PATH

7
如果您是通过rbenv安装的Ruby,则需要执行以下命令:

rbenv rehash


我还必须清理文件$HOME/.rbenv/shims/.rbenv-shim以解决这个问题。将您的解决方案发布在被接受的答案中。 - morhook

4
如果您使用macOS并且:
  • 我不知道/不关心Ruby。
  • 我只想运行这个程序。
  • 为什么这么复杂?
那么,请运行以下命令:

~/.gem/ruby/*/bin/jekyll

其中jekyll是您刚刚用gem install安装的东西。

1
如果使用brew安装Ruby,则Ruby Gem的路径将位于/usr/local/lib/ruby/gems/*/gems/gem-name/bin/executable-file-name。 - Faisal

-2
如果您想为您的 gem 运行一个简单的 WEBrick 服务器,安装后可以执行以下操作:
sass start

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接