我尝试安装杰基尔在我的 Mac 上(安装了 Xcode cli 工具的 OS X 10.11.6 El Capitan)使用gem install jekyll
,但我收到此错误:
$ gem install jekyll
错误:执行 gem 时... (Gem::FilePermissionError)
您没有 /Library/Ruby/Gems/2.0.0 目录的写权限。
我皱起眉头,然后读了安装故障排除文档在 Jekyll 网站上,讨论啜在 El Capitan。我现在仍然感到不满意。
除了今天读到的内容之外,我对 Ruby 一无所知,但我对 bash 了解不少。开发人员建议使用sudo gem install -n /usr/local/bin jekyll
。sudo
在这种情况下,是否仅适用于文件夹权限/usr/local/bin
需要升级权限的情况,还是也适用于其他情况?
有没有办法可以安装 Jekyll
- 无需使用
sudo
和 - 无需安装自制(或任何其他包安装工具/第三方软件)和
- 而不修改我的文件夹的权限(
755
root:wheel
)/usr/local/
?
如果是,这对 Jekyll 的运行有何影响?
答案1
我认为您可以将$GEM_HOME
环境变量更改为您有写入和执行权限的文件夹。惯例是.gem
在主文件夹中创建一个文件夹。然后确保将该文件夹添加到您的$GEM_PATH
环境变量中。然后您应该能够随心所欲地安装 gem 并使用安装在系统 gem 文件夹中的 gem。
参考: https://unix.stackexchange.com/a/210012 https://stackoverflow.com/a/11277228/203845
答案2
这是我在相关 GitHub 问题(从 2015 年 9 月 25 日起)并复制到下面的水平线下方。(请务必$PATH
通过您的~/.bash_profile
或将二进制路径添加到您的/etc/paths.d/
)
花几分钟时间,想以摘要的形式重申和重新分享,通过利用可执行功能隔离 ruby gem 安装在 OS X 10.11 上进行安装jekyll
(一般而言) ,例如 [仅] 执行以下操作,并具有完全独立于系统的额外好处,并且[仅] 将其依赖项隔离到当前用户/组:gems
gem
jekyll
OS X XCode 命令行实用程序
可以通过调用开发人员命令(例如
git
并按照提示进行安装)。使用 OS X 原生
ruby
系统gem
:gem install --user-install --bindir ~/bin --no-document --pre --verbose jekyll
export PATH=$PATH:~/bin
$ jekyll --version
jekyll 3.0.0.pre.beta9
$ ruby --version
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
$ which ruby
/usr/bin/ruby
如果您对系统范围内的 tinker-hostile 环境的干预不感兴趣,或者您不想要/需要自定义/特定的 Ruby 环境(rbenv
、chruby
、RVM
、 ...),那么 --user-install 方法可能值得考虑。而且它适用于普通 OS X(10.11 currently
)。