您没有对 /Library/Ruby/Gems/2.3.0 目录拥有写入权限。

19 浏览
0 Comments

您没有对 /Library/Ruby/Gems/2.3.0 目录拥有写入权限。

在MacOS 10.13.x中,当我使用命令gem install bundler时,出现以下错误:\n

\n您没有对 /Library/Ruby/Gems/2.3.0 目录的写入权限。\n

\n

$ gem install bundler
Fetching: bundler-1.16.2.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
您没有对 /Library/Ruby/Gems/2.3.0 目录的写入权限。

0
0 Comments

在终端中,运行命令sudo gem install -n /usr/local/bin bundler时,可能会出现以下错误信息:You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory. 这个错误的原因是用户没有足够的权限在指定的目录下写入文件。

要解决这个问题,可以尝试以下方法:

1. 使用sudo命令获取管理员权限,然后再次运行命令。

sudo gem install -n /usr/local/bin bundler

2. 使用chown命令更改目录的所有者为当前用户。

sudo chown -R $USER /Library/Ruby/Gems/2.3.0

3. 使用chmod命令更改目录的权限,使当前用户拥有写入权限。

sudo chmod -R u+w /Library/Ruby/Gems/2.3.0

通过上述方法之一,您应该能够解决You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory的问题,并成功安装所需的gem包。

0
0 Comments

问题出现的原因是在Mac上,系统的Ruby是由root拥有的,使用sudo安装gem会导致每个gem都以root身份运行,这是一个安全隐患。

解决方法:

1. 确认当前正在运行的是旧版本的系统提供的Ruby。

2. 使用brew安装新版本的Ruby。如果没有安装brew,需要先安装brew。

3. 确认新版本的Ruby已经添加到了系统的路径中。

4. 确认新版本的Ruby的版本号。

5. 将路径更新设置为永久生效,避免每次使用Ruby时都要更新路径。

以下是具体的步骤:

1. 确认当前正在运行的是旧版本的系统提供的Ruby:

which ruby
/usr/bin/ruby

(这是系统路径)

ruby -v
ruby 2.3.7

(这是旧版本)

2. 使用brew安装新版本的Ruby,如果没有安装brew,需要先安装brew:

brew install ruby

安装完成后会显示:

/usr/local/Cellar/ruby/2.6.3

3. 确保新版本的Ruby出现在路径中的第一位:

PATH=/usr/local/Cellar/ruby/2.6.3/bin:$PATH

4. 再次确认Ruby的路径:

which ruby
/usr/local/Cellar/ruby/2.6.3/bin/ruby

5. 再次确认Ruby的版本号:

ruby --version
ruby 2.6.3p62

6. 将路径更新设置为永久生效(否则每次使用Ruby时都要更新路径):

echo  PATH=/usr/local/Cellar/ruby/2.6.3/bin:$PATH >> ~/.bash_profile

0
0 Comments

问题的原因是当前用户没有对/Library/Ruby/Gems/2.3.0目录的写权限。解决方法是通过命令行添加路径到.zshrc文件中,并且运行source ~/.zshrc命令来使其生效。以下是具体的解决步骤:

1. 打开终端,进入命令行界面。

2. 使用以下命令将路径添加到.zshrc文件中:

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

3. 运行以下命令使.zshrc文件生效:

   source ~/.zshrc
   

这样就解决了"You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory"的问题。

0