“pod init”返回:不允许操作 - getcwd (Errno::EPERM)

Zor*_*gan 6 ruby ios cocoapods

当我尝试pod init在 Xcode 项目目录中执行时,它返回以下内容:

Traceback (most recent call last):
    35: from /usr/local/bin/pod:23:in `<main>'
    34: from /usr/local/bin/pod:23:in `load'
    33: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/bin/pod:36:in `<top (required)>'
    32: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    31: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    30: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods.rb:8:in `<top (required)>'
    29: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    28: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    27: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/core_ext/string/inflections.rb:1:in `<top (required)>'
    26: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    25: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    24: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/inflector/methods.rb:3:in `<top (required)>'
    23: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    22: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    21: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/inflections.rb:1:in `<top (required)>'
    20: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    19: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    18: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/inflector/inflections.rb:3:in `<top (required)>'
    17: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    16: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    15: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/i18n.rb:5:in `<top (required)>'
    14: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    13: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    12: from /Library/Ruby/Gems/2.6.0/gems/i18n-0.9.5/lib/i18n.rb:1:in `<top (required)>'
    11: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    10: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     9: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/map.rb:3:in `<top (required)>'
     8: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     7: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     6: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization.rb:5:in `<top (required)>'
     5: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:30:in `load_native_extensions'
     4: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:30:in `each'
     3: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:30:in `block in load_native_extensions'
     2: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:62:in `try_load_c_extension'
     1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- concurrent/concurrent_ruby_ext (LoadError)
    46: from /usr/local/bin/pod:23:in `<main>'
    45: from /usr/local/bin/pod:23:in `load'
    44: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/bin/pod:36:in `<top (required)>'
    43: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    42: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    41: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods.rb:8:in `<top (required)>'
    40: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    39: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    38: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/core_ext/string/inflections.rb:1:in `<top (required)>'
    37: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    36: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    35: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/inflector/methods.rb:3:in `<top (required)>'
    34: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    33: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    32: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/inflections.rb:1:in `<top (required)>'
    31: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    30: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    29: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/inflector/inflections.rb:3:in `<top (required)>'
    28: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    27: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    26: from /Library/Ruby/Gems/2.6.0/gems/activesupport-4.2.11.3/lib/active_support/i18n.rb:5:in `<top (required)>'
    25: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    24: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    23: from /Library/Ruby/Gems/2.6.0/gems/i18n-0.9.5/lib/i18n.rb:1:in `<top (required)>'
    22: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    21: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    20: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/map.rb:3:in `<top (required)>'
    19: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    18: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    17: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization.rb:5:in `<top (required)>'
    16: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:30:in `load_native_extensions'
    15: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:30:in `each'
    14: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:30:in `block in load_native_extensions'
    13: from /Library/Ruby/Gems/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb:62:in `try_load_c_extension'
    12: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
    11: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:123:in `rescue in require'
    10: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:212:in `try_activate'
     9: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1041:in `find_by_path'
     8: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1041:in `find'
     7: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1041:in `each'
     6: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1042:in `block in find_by_path'
     5: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:39:in `compatible?'
     4: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:7:in `bundler_version'
     3: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:22:in `bundler_version_with_reason'
     2: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:68:in `lockfile_version'
     1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `lockfile_contents'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `pwd': Operation not permitted - getcwd (Errno::EPERM)
Run Code Online (Sandbox Code Playgroud)

我已经安装了Homebrew,,Ruby并且Cocoapods已经。我正在跑步macOS Catalina 10.15.4,并且Xcode 11.3.1.

我尝试遵循此建议/usr/local/bin并通过以下命令安装 cocoapods :sudo gem install -n /usr/local/bin cocoapods

但我在安装时遇到了同样的错误:Operation not permitted - getcwd (Errno::EPERM)

知道问题是什么吗?

编辑

重新安装 Ruby 管理器以安装 Ruby 后,我收到一个新错误:

2: from /Users/zorgan/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:9:in `<main>'
    1: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- executable-hooks/hooks (LoadError)
    13: from /Users/zorgan/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:9:in `<main>'
    12: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
    11: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:123:in `rescue in require'
    10: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems.rb:213:in `try_activate'
     9: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1036:in `find_by_path'
     8: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1036:in `find'
     7: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1036:in `each'
     6: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1037:in `block in find_by_path'
     5: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:39:in `compatible?'
     4: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:7:in `bundler_version'
     3: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:22:in `bundler_version_with_reason'
     2: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:68:in `lockfile_version'
     1: from /Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `lockfile_contents'
/Users/zorgan/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `pwd': Operation not permitted - getcwd (Errno::EPERM)
Run Code Online (Sandbox Code Playgroud)

ano*_*rmh 16

正如下面的评论所述,这个问题是通过将项目移出来解决的,~/Library因为这是 macOS 上的特殊系统目录,可能会触发上述错误。即便如此,使用 Ruby 管理器的建议仍然是最佳实践:

\n

您遇到了 macOS 沙箱权限问题。最简单的修复方法是不使用 macOS 附带的内置 Ruby 版本,而是使用 Ruby 管理器来安装 Ruby:

\n
    \n
  1. 安装 RVM:
  2. \n
\n
\\curl -sSL https://get.rvm.io | bash -s stable\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. 重新启动你的外壳
  2. \n
  3. 安装 Ruby:
  4. \n
\n
rvm install 2.6\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. 使用此命令安装 cocoapods(并且不要使用sudo
  2. \n
\n
gem install cocoapods\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. 确认输出which pod类似于:
  2. \n
\n
/Users/foo/.rvm/gems/ruby-2.6.3/bin/pod\n
Run Code Online (Sandbox Code Playgroud)\n

然后重试您的pod init命令。

\n

Here\xe2\x80\x99s 是一个资源,解释了为什么不使用系统默认版本的 Ruby:

\n\n

如果您愿意,您还可以安装和使用其他管理器:

\n\n

每种方法都有其优点和缺点,但经过 7 年的专业 Ruby 开发,RVM 从未让我犯错,所以这是我推荐的。

\n