ruby Riod-iOS错误:您没有写入权限“Gem::FilePermissionError”

7kqas0il  于 2023-02-15  发布在  Ruby
关注(0)|答案(2)|浏览(190)

我已经下载了一个Riot-iOS并按照构建说明进行操作。
运行"*$bundle install "时
追溯(最近调用最后调用):2:来自/usr/bin/bundle:23:在<main>' 1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in中激活bin路径'/系统/库/框架/Ruby. framework/版本/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:在find_spec_for_exe': Could not find 'bundler' (2.0.2) required by your /Users/premkumar/Downloads/riot-ios-develop/Gemfile.lock. (Gem::GemNotFoundException) To update to the latest version installed on your system, run捆绑包更新--捆绑包. To install the missing version, run gem安装捆绑包:2.0.2 '中
在我运行"
$bundle exec pod install "之后
追溯(最近调用最后调用):2:来自/usr/bin/bundle:23:在<main>' 1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in中激活bin路径'/系统/库/框架/Ruby. framework/版本/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:在find_spec_for_exe': Could not find 'bundler' (2.0.2) required by your /Users/premkumar/Downloads/riot-ios-develop/Gemfile.lock. (Gem::GemNotFoundException) To update to the latest version installed on your system, run捆绑包更新--捆绑包. To install the missing version, run gem安装捆绑包:2.0.2 '中
因此,我通过运行'
$gem update--system *'来更新gem
更新rubygems-更新错误:执行gem时...(Gem::FilePermissionError)您没有/Library/Ruby/Gems/2.6.0目录的写入权限。

请帮帮我。

njthzxwz

njthzxwz1#

看起来您使用的是MacOS附带的Ruby系统。为了使其正常工作,您需要尝试使用sudo运行这些命令。您也可以尝试使用RVM(https://rvm.io/)安装Ruby,然后在不使用sudo的情况下运行相同的命令
RVM使它变得非常简单。从您的终端运行以下命令:

\curl -sSL https://get.rvm.io | bash -s stable --ruby

此命令将安装RVM和最新的稳定Ruby版本(现在是2.6.3)。

cyej8jka

cyej8jka2#

只是想强调@ZachTuttle的观点:你正在使用ruby(!!)的系统安装(macOS预装的那个)-- 99.9%的时候你想这么做!
您可以判断出发生了这种情况,因为错误消息中始终引用了macOS系统安装的位置:

/System/Library/Frameworks/Ruby.framework/Versions ...

为了修复这个问题,你几乎肯定希望ruby -v的输出是你自己安装的,有很多recommended ways需要安装ruby。
如果你自己已经安装了ruby(即非系统版本),你只需要弄清楚如何让rails/bundle/相关进程使用你安装的ruby版本,而不是系统安装,这会根据你安装的方式而有所不同。
举个例子,我收到了类似的错误消息,并且碰巧使用了rbenvruby包管理器,所以我不得不让rbenv使用通过rbenv安装的ruby,而不是系统安装(为此,我运行了rbenv versions来显示已安装的版本,然后运行rbenv global 3.0.3来切换到其中一个自安装版本)。这取决于你是如何安装ruby的,但最终你几乎肯定想让rails/bundler使用你自己安装的ruby,而不是它当前试图使用的系统安装。

相关问题