OpenSuse - RubyGems 安装 - 错误的文件名

Posted

技术标签:

【中文标题】OpenSuse - RubyGems 安装 - 错误的文件名【英文标题】:OpenSuse - RubyGems install - wrong file names 【发布时间】:2014-06-24 14:39:04 【问题描述】:

我有一个全新的 OpenSuse 13.1 安装并安装了所有更新。

ruby -v --> ruby 2.0.0p247 (2013-06-27) [x86_64-linux]gem -v --> 2.3.0

运行gem env 输出如下:EXECUTABLE DIRECTORY/usr/bin。它也在我的$PATH

我尝试按照安装指南的说明安装 sasscompass

sudo gem install sass
sudo gem install compass

(我需要使用sudo,因为没有它就无法使用)

唯一的问题:运行命令sasscompass 都不起作用。 过了一会儿,我发现我必须使用sass2.0compass2.0 来运行它们。 /usr/bin 中的 ruby​​ 脚本以文件名末尾的 2.0 命名。

为什么这些 ruby​​ 脚本的最后以 2.0 命名?我怎样才能防止这种情况?我想在终端中只使用compasssass

我使用 Google 没有得到任何结果。

【问题讨论】:

【参考方案1】:

看起来 openSUSE 修补 ruby​​gems 以保持安装多个 ruby​​ 版本,因此它会将版本号附加到 bin/ 中的文件。

我尝试在我的 Linux x86_64 系统上安装 sass 包,它生成了 sass, scss and sass-convert 没有扩展名的可执行文件。

我还警告要以这种方式将 gems 直接安装到文件系统中。我建议不要避免包管理并通​​过正确构建的包进行安装。在 openSUSE 的 wiki 上有一段关于 how to package Ruby gems into rpms 的段落。

【讨论】:

谢谢。因为我不是真正喜欢 OpenSUSE 也不是 Open Build Service,所以我没有将 ruby​​ gem 打包到 rpm 中。但是因为那篇文章(以及更多搜索),我安装了rvm(文章提到了它)并安装了最新的 ruby​​ 版本。现在gem intall PACKAGE 将软件包安装到我的主目录中(在/home/USERNAME/.rvm/ 中)。如果您可以向rvm 添加注释,我会接受这个答案。谢谢你。 :)【参考方案2】:

此 SeverFault 帖子中有解决此问题的方法:https://serverfault.com/questions/535450/install-gems-of-ruby-1-9-bins-without-suffix-in-opensuse

您必须在gem install 命令中添加参数--no-format-executable。因为我不想弄乱我的系统,所以我安装了这样的 sass:

gem install --install-dir ./gems --no-format-executable sass

现在我可以用./gems/bin/sass 执行它

【讨论】:

以上是关于OpenSuse - RubyGems 安装 - 错误的文件名的主要内容,如果未能解决你的问题,请参考以下文章

Linux 离线安装Rubygems详解

OpenSUSE安装 arcanist

安装rubygems

如何安装Ruby和RubyGems

opensuse 怎么安装docker

阿里云镜像OpenSUSE全新安装并更改阿里OpenSUSE镜像源✨