下面是我需要做的。

要运行规范,需要安装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上的任何东西,我需要捆绑安装在原子?谁能告诉我如何使用原子或者在原子中运行任何东西?


当前回答

我使用Mojave与rbenv,这个解决方案适用于我:

$ vi ~/.bash_profile

将这一行添加到文件中:

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

其他回答

为了解决这个问题,我跑了

brew reinstall ruby

是谁向我展示了这条信息

= = >警告 = = > ruby 默认情况下,gem安装的二进制文件将被放置到: / opt /组装/ lib / ruby /珠宝/ 3.1.0 / bin 您可能希望将此添加到PATH中。 Ruby是只有酒桶的,这意味着它没有符号链接到/opt/homebrew, 因为macOS已经提供了这个软件,并且正在安装另一个版本 并行会引起各种各样的麻烦。 如果你需要在PATH中先有ruby,运行: echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.profile . PATH

所以我把这两行加到~/中。bashrc文件(

export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
export PATH="/opt/homebrew/lib/ruby/gems/3.1.0/bin:$PATH"

然后我打开了一个新的终端。应用程序窗口和运行我的gem安装命令再次工作。

安装rbenv后,我也有这个问题,在我的.bashrc中添加这一行:

$(rbenv init -)

解决了我的问题。

如果您不想运行sudo,请使用自制程序安装ruby

brew install ruby
export GEM_HOME="$HOME/.gem"
gem install rails

您可能希望添加export GEM_HOME="$HOME/ "。“宝石”送给你~/。Bash_profile或.zshrc(如果使用ZSH)

注意:RubyGems保留旧版本的宝石,所以在更新后可以自由地做一些清理工作:

gem cleanup

在M1 MacBook Air上测试(假设安装了Homebrew)

下面是上面的答案,我们可以运行:

brew install chruby ruby-install

安装最新的稳定ruby:

ruby-install ruby

然后运行以下命令获取版本号:

chruby

在你的~/。zshrc中:

export PATH=/opt/homebrew/bin:$PATH
source /opt/homebrew/opt/chruby/share/chruby/chruby.sh
source /opt/homebrew/opt/chruby/share/chruby/auto.sh
chruby 3.1.2

“3.1.2”是运行chruby时得到的输出。一定要在最后加上这一行。

每次安装新gem时,请记住重新启动终端。

运行这个

$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init -)"

按照说明,(在我的例子中,添加到~/.zshrc);)


同样重要的是:更改只有在重新启动控制台时才生效。两个选项

输入source <modified file> 关上再打开