如何运行 Ruby Gem?

Posted

技术标签:

【中文标题】如何运行 Ruby Gem?【英文标题】:How do I run a Ruby Gem? 【发布时间】:2012-04-05 06:35:03 【问题描述】:

这可能看起来很愚蠢,但我最近尝试安装 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 之类的东西或其他一些变通方法以使其正常运行,但我或多或少不知所措。

【问题讨论】:

echo $PATH 的输出是什么? /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin(虽然问题已经解决,见下文)。谢谢你把它放在正确的轨道上:) 【参考方案1】:

似乎 Debian/Ubuntu 将 ruby​​ gem 放入 /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 中修复。)

【讨论】:

【参考方案2】:

如果你碰巧通过rbenv安装了Ruby,则需要执行以下命令

rbenv 重新散列

【讨论】:

我还必须清理文件 $HOME/.rbenv/shims/.rbenv-shim 来解决这个问题。在接受的答案上发布您的解决方案。【参考方案3】:

在 macOS 上,我必须将 gem 可执行目录添加到路径中。 将这些行添加到您的 ~/.bashrc 文件中,然后重新打开终端以刷新环境变量。

# gem                                                                      
gembin=`(gem env | sed -n "s/.*EXECUTABLE DIRECTORY: \(.*\)/\1/p")`
export PATH=$gembin:$PATH

【讨论】:

【参考方案4】:

如果您使用 macOS 并且您:

我不了解/不关心 Ruby。 我只想运行这个程序。 为什么这么复杂?

然后运行:

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

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

【讨论】:

如果使用 brew 安装 ruby​​,ruby gem 的路径将在 /usr/local/lib/ruby/gems/*/gems/gem-name/bin/executable-file-name跨度> 【参考方案5】:

如果您尝试为您的 gem 运行一个简单的 WEBrick 服务器,您可以在安装后执行以下操作:

sass start

【讨论】:

以上是关于如何运行 Ruby Gem?的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 雾 gem 导致服务器无法运行:无法加载此类文件 -- xmlrpc/client (LoadError)

Ruby - 托管私有 gem

使用 aws-sdk ruby​​ gem 知道自己的实例 ID

运行 sudo gem install fastlane -NV 在安装 fastlane ruby​​zip 需要 ruby​​ version >= 2.4 时抛出错误

卸载旧版本的 Ruby gem

如何在 Github 工作流上运行 Ruby 脚本