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
。
我尝试按照安装指南的说明安装 sass
和 compass
:
sudo gem install sass
sudo gem install compass
(我需要使用sudo
,因为没有它就无法使用)
唯一的问题:运行命令sass
和compass
都不起作用。
过了一会儿,我发现我必须使用sass2.0
和compass2.0
来运行它们。 /usr/bin
中的 ruby 脚本以文件名末尾的 2.0
命名。
为什么这些 ruby 脚本的最后以 2.0
命名?我怎样才能防止这种情况?我想在终端中只使用compass
和sass
。
我使用 Google 没有得到任何结果。
【问题讨论】:
【参考方案1】:看起来 openSUSE 修补 rubygems 以保持安装多个 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 安装 - 错误的文件名的主要内容,如果未能解决你的问题,请参考以下文章