安装后无法运行指南针

安装后无法运行指南针

我确信这是一个初学者的错误,因为我对终端等还不熟悉。我正在尝试罗盘在我的 Mac 上工作,我已经安装了 sass 并使其运行,但是当我尝试安装 compass 时,即使它可以运行,我也无法运行它......

computer-name:~ me$ sudo gem install compass
Password:
Successfully installed compass-0.12.2
Parsing documentation for compass-0.12.2
1 gem installed
computer-name:~ me$ compass -v
-bash: compass: command not found
computer-name:~ me$ sass -v
Sass 3.2.12 (Media Mark)

输入:

gem list

还返回:

compass (0.12.2)

我在想一些事情,也许是我遇到了冲突,我最初尝试在没有它的情况下安装sudo并且成功了,我再次尝试使用sudo但仍然没有成功。

我的 $PATH 有:

computer-name:~ me$ echo $PATH
/usr/local/bin:/usr/local/sbin:~/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/me/.rvm/bin

最后一个 .rvm/bin 似乎是 ruby​​,但不包含 compass(尽管 sass 也不在那里......)

我找到了指南针,usr/local/Cellar/ruby/2.0.0-p247/bin/但看了教程后发现它似乎应该可以运行,我假设我做了一些破坏正常功能的事情,我想知道如何测试或修复它。

注意:sass 在同一个文件夹中并sass -v显示版本,所以我假设它以某种方式位于路径中(也许 ruby​​ 找到它...)

答案1

在 OS X 上运行两个或更多版本的 Ruby 时,有一件非常重要的事情:如果你使用sudo gem,你将使用 中的 OS X 默认设置gem/usr/bin/gem这不是你想要的。

如果你gem单独使用(不带sudo),你通常应该使用新安装的gem(例如来自 Ruby OS X 安装程序的,或者来自 RVM、rbenv 的,无论你使用什么方法运行另一个 Ruby 版本)。通过运行来确认这which -a gem一点。它应该返回类似以下内容:

/Users/your-username/.rvm/bin/gem
/usr/bin/gem

如果您gem从 RVM 中新建的不是默认的(即列表中的第一个),则您的 RVM 安装已损坏。否则,任何对 的调用(gem即使没有sudo)仍将使用/usr/bin/gem,随后会因权限不足而失败。

因此,请确保对ruby和的所有调用gem都是 RVM 版本,而不是系统版本。并且绝不再次使用sudo来安装某些东西,因为它将进入你的默认 OS X Ruby。

对于 RVM,请检查其来源所有的 PATH 操作都是在 shell 的配置文件中完成的(通常.profile.bash_profileOS X 上,不确定 RVM 修改了哪一个)。

答案2

我遇到了同样的事情。为了让指南针命令正常工作,我做了以下操作:我添加了一个符号链接(我有 .12.6,将其更改为您的 .12.2):

ln -s /usr/local/lib/ruby/gems/2.0.0/gems/compass-0.12.2/bin/compass /usr/local/bin/compass

答案3

我遇到了类似的问题并发现这gem list compass -d允许我找到并符号链接指南针。

答案4

我觉得这并不能真正回答我的问题,但目前它确实有效......我在我的系统中发现了指南针,/usr/local/Cellar/ruby/2.0.0-p247/lib/ruby/gems/2.0.0/gems/compass-0.12.2/bin/所以我~/.bash_profile在开始时将它添加到了export PATH="<here>:/usr/local/bin:other paths" ,所以现在我可以运行该功能,但我仍然不知道如何诊断系统并找出问题的原因或修复它,所以感觉像是黑客攻击。

我从中得到了一些有用的信息这里 (stackoverflow)这里 (apple.stackoverflow)ruby rvm 帮助站点

相关内容