如何运行 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)
使用 aws-sdk ruby gem 知道自己的实例 ID
运行 sudo gem install fastlane -NV 在安装 fastlane rubyzip 需要 ruby version >= 2.4 时抛出错误