下面是我需要做的。

要运行规范,需要安装RSpec。首先,在项目的根目录下运行gem install bundler。然后,运行bundle install。要运行单个spec文件,可以运行如下命令:要一次运行所有规格,请运行bundle exec rspec。

所以,我在终端中输入gem安装捆绑器,并得到错误:

您没有/Library/Ruby/Gems/2.3.0目录的写权限。

这是在atom的项目文件中

source "https://rubygems.org"
gem "rspec", "~> 3.2.0"

我的问题是:

似乎终端给我的响应,因为我不应该改变ruby上的任何东西,我需要捆绑安装在原子?谁能告诉我如何使用原子或者在原子中运行任何东西?


当前回答

您需要安装rbenv并在rbenv下维护ruby版本。

编译安装rbenv rbenv init 将eval "$(rbenv init -)"追加到~/.bash_profile rbenv install {stable_version_#}你可以使用rbenv install -L获取版本号 Rbenv global {your_preferred_version_#}命令用于切换到ruby版本 Rbenv shell {your_preferred_version #} 宝石安装{任何你想要的宝石}

详情https://github.com/rbenv/rbenv

其他回答

更新:

我现在有了一个付费脚本,它可以用一个命令为您设置一个合适的Ruby环境! 我还不断更新在Mac上安装Ruby的免费分步指南(比我更新这个答案的频率还高)。

你是对的,macOS不允许你修改Mac自带的Ruby版本。但是,你可以使用一个单独的Ruby版本来安装gems,比如bundler,这不会影响苹果提供的Ruby版本。

使用sudo来安装gems,或者修改系统文件和目录的权限是非常不鼓励的,即使你知道你在做什么。我们能不能别再提这些馊主意了?我写了一篇详细的文章,说明了为什么不应该使用sudo来安装gems。

解决方案包括两个主要步骤:

安装一个独立的Ruby版本,它不会影响Mac自带的Ruby版本。 更新您的PATH,使新的Ruby版本的位置位于PATH中的第一个位置。有些工具会自动为您执行此操作。如果您不熟悉PATH及其工作方式,那么这是您应该学习的基础知识之一,您将理解为什么有时会遇到“命令未找到”错误以及如何修复它们。

在Mac上安装Ruby有几种方法。我推荐的最好的方法,也是我希望在各种安装说明中更普遍的方法,是使用像Ruby on Mac这样的自动脚本,它会为你设置一个合适的Ruby环境。

主要原因是它为每个人节省了大量的时间。时间是我们最有限也是最宝贵的资源。为什么要让人们手动去做事情,而不是每次都能自动得到完美的结果呢?

另一个原因是,它大大降低了人为错误或由于指令不完整而导致错误的几率。

如果您想手动操作,请继续阅读。首先,您需要安装Homebrew,它将安装必要的命令行工具,并使安装其他必要的工具变得容易。

那么,安装一个独立版本的Ruby的两种最简单的方法是:

如果您想要在多个Ruby版本之间轻松切换的灵活性[推荐]

从以下四个选项中选择一个:

chruby和Ruby -install——这是我个人的建议,也是由Ruby on Mac脚本自动安装的。这些可以用Homebrew安装:

brew install chruby ruby-install

rbenv -可以用Homebrew安装 数位视讯 asdf

如果你选择了chruby和Ruby -install,你可以像这样安装最新的Ruby:

ruby-install ruby

一旦你安装了所有的东西,并根据上面工具的说明配置了.zshrc或.bash_profile,退出并重新启动Terminal,然后切换到你想要的Ruby版本。在chruby的情况下,它会是这样的:

chruby 3.1.3

您是否需要配置.zshrc或.bash_profile取决于您使用的是哪个shell。

如果你确定你不需要同时使用多个版本的Ruby(除了macOS自带的版本)[不推荐]

即使您认为您现在不需要另一个版本,您最终也将无法轻松地切换。这将导致混乱和头痛,这就是为什么我不建议用Homebrew安装和管理Ruby。

如果您不顾我的警告,选择使用Homebrew来安装Ruby,那么如果遇到任何问题,就只能靠自己了。

使用Homebrew安装ruby:

brew install ruby

然后运行以下命令更新您的PATH:

echo 'export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.1.0/bin:$PATH"' >> ~/.zshrc

上面命令中的3.1.0假设Homebrew安装了从3.1开始的Ruby版本。如果安装了不同的版本,请将3.1替换为Ruby版本的前两位数字。

如果你在M1/M2的Mac上,用/opt/homebrew替换/usr/local

然后“刷新”你的shell使这些更改生效:

source ~/.zshrc

或者您可以打开一个新的终端选项卡,或者退出并重新启动终端。

如果使用Bash,请将.zshrc替换为.bash_profile。如果您不确定,请阅读我的指南,了解您正在使用的外壳。

要检查您现在使用的是非系统版本的Ruby,您可以运行以下命令:

which ruby

它不应该是/usr/bin/ruby

ruby -v

它应该是3.1.3或更高版本。

一旦你安装了这个新版本的Ruby,你现在可以安装bundler(或任何其他gem):

gem install bundler

Mac解决方案

安装/更新最新ruby版本的RVM \curl -sSL https://get.rvm.io | bash -s stable 安装打包机 Gem安装捆绑器


这两个命令之后(sudo) gem安装....开始工作

您需要安装rbenv并在rbenv下维护ruby版本。

编译安装rbenv rbenv init 将eval "$(rbenv init -)"追加到~/.bash_profile rbenv install {stable_version_#}你可以使用rbenv install -L获取版本号 Rbenv global {your_preferred_version_#}命令用于切换到ruby版本 Rbenv shell {your_preferred_version #} 宝石安装{任何你想要的宝石}

详情https://github.com/rbenv/rbenv

对于最新的操作系统版本

首先运行sudo xcode-select——switch / Sudo gem install cocoapods—user-install

这对我很有用

这在Mac上很管用

sudo chown -R $(whoami) $(brew -prefix)/*