【发布时间】:2014-03-01 23:08:06
【问题描述】:
我做了sudo gem install sass,成功了。运行sudo sass -v 工作正常,但以普通用户身份运行:
$ sass -v
-bash: /usr/bin/sass: Permission denied
确实可执行文件的权限是700。我将权限更改为755,但这导致:
$ sass -v
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs': Could not find 'sass' (>= 0) among 4 total gem(s) (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:307:in `to_spec'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:47:in `gem'
from /usr/bin/sass:22:in `<main>'
我已经搜索了所有内容,但找不到解决方案。这是gem env 的输出,如果我执行sudo gem env 则相同。
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.3
- RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [universal.x86_64-darwin13]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-13
- GEM PATHS:
- /Library/Ruby/Gems/2.0.0
- /Users/ashish/.gem/ruby/2.0.0
- /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
我不得不使用 sudo 来安装。否则,我得到:
$ gem install sass
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
【问题讨论】:
-
不要使用
sudo;只是gem install sass。 -
我添加了为什么我必须使用 sudo 安装的解释。
-
其他 gems 怎么样,你能运行其他 gems 吗?并且显然您使用
sudo权限运行了该命令,如果没有 sudo,您将无法访问它。您要么更改了权限,要么必须移动文件。 -
根据我的经验,安装 gems 需要 sudo,但运行它们不需要。询问 SuperUser 或扩展标签以包含 unix 命令可能会更好。
-
我认为主要问题是应该如何在预装了 ruby 的 Mac 上安装 gems。我不使用 Ruby,所以这是我尝试使用的第一个 gem。也许我应该将安装配置为进入我自己的主目录,因此不使用 sudo?另外,我使用自制软件。我尝试了使用和不使用
brew install ruby,但我得到了同样的错误。