Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Mac/Xcode-吊舱安装,吊舱初始化,吊舱。。。“所有错误”;错误的解释器:没有这样的文件或目录;_Ruby_Xcode_Cocoapods_Homebrew - Fatal编程技术网

Ruby Mac/Xcode-吊舱安装,吊舱初始化,吊舱。。。“所有错误”;错误的解释器:没有这样的文件或目录;

Ruby Mac/Xcode-吊舱安装,吊舱初始化,吊舱。。。“所有错误”;错误的解释器:没有这样的文件或目录;,ruby,xcode,cocoapods,homebrew,Ruby,Xcode,Cocoapods,Homebrew,我看到许多类似问题的实例与最近的Mac OS/xCode更新有关,其中提出了大量的解决方案,这些解决方案似乎经常起作用。到目前为止,没有人为我工作。这是我看到的 我有一个关于cocoapods的长期xCode项目。另一位开发人员在另一个系统上进行了一些更新,导致生成错误读取: "The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation

我看到许多类似问题的实例与最近的Mac OS/xCode更新有关,其中提出了大量的解决方案,这些解决方案似乎经常起作用。到目前为止,没有人为我工作。这是我看到的

我有一个关于cocoapods的长期xCode项目。另一位开发人员在另一个系统上进行了一些更新,导致生成错误读取:

"The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation."
当我使用终端尝试“吊舱初始化、吊舱更新、吊舱安装、吊舱去集成”时,我得到:

-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory
我的机器上实际存在的Ruby版本是2.6,而不是2.3

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby:
我的计算机上没有位于的文件夹

/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby:
$哪个ruby
说:
/usr/bin/ruby
该文件确实存在

多个消息来源称,通过自制软件安装的ruby可在以下位置找到:

/usr/local/opt/ruby/bin/ruby
该位置当前没有Ruby的别名。 /usr/local/opt充满了文件夹别名,但没有“ruby”别名

我已删除并重新安装了xCode命令行工具,但当我尝试使用自制软件(brew医生、brew更新、brew升级等)执行任何基本操作时,会出现如下错误:

Mainframe:~ username$ brew -v
Homebrew 0.9.5
Mainframe:~ username$ brew upgrade
Traceback (most recent call last):
    4: from /usr/local/Library/brew.rb:31:in `<main>'
    3: from /usr/local/Library/Homebrew/os/mac.rb:15:in `version'
    2: from /usr/local/Library/Homebrew/os/mac.rb:15:in `new'
    1: from /usr/local/Library/Homebrew/os/mac/version.rb:24:in `initialize'
/usr/local/Library/Homebrew/version.rb:176:in `initialize': Version value must be a string (TypeError)
大型机:~username$brew-v 自制0.9.5 大型机:~username$brew升级 回溯(最近一次呼叫最后一次): 4:from/usr/local/Library/brew.rb:31:in`' 3:from/usr/local/Library/Homebrew/os/mac.rb:15:in'version' 2:from/usr/local/Library/Homebrew/os/mac.rb:15:in'new' 1:from/usr/local/Library/Homebrew/os/mac/version.rb:24:in'initialize' /usr/local/Library/Homebrew/version.rb:176:在“初始化”中:版本值必须是字符串(TypeError) 所有这一切的开始(显然)是因为在其他开发者的机器上有些不同。我已经围绕这个问题转了好几天了,却一无所获

做了所有这些之后,我想问题就出在一开始的某个地方,我的机器在寻找一个不存在的Ruby 2.3,而不是确实存在的Ruby 2.6,但我不知道如何确定或者如何修复它


任何帮助都将不胜感激。

解决方案:破解pod文件

简短版本: 1.)在usr/local/bin/pod打开文件 2.)将顶行中的2.3更改为2.6

长版本:

有一个可执行文件位于:usr/local/bin/pod 内容如下:

#!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
#
# This file was generated by RubyGems.
#
# The application 'cocoapods' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0.a"

if ARGV.first
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
    version = $1
    ARGV.shift
  end
end

load Gem.bin_path('cocoapods', 'pod', version)
我在以下位置打开文件:
usr/local/bin/pod
并编辑第一行以将2.3更改为2.6

这产生了一些效果。现在,如果我将cd放入我的xcode项目并尝试运行“pod更新”,我会得到一个不同的错误

Mainframe:graffwriter username$ pod update
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /Users/pilotrase/bin/FDK/Tools/osx in PATH, mode 040777
Traceback (most recent call last):
    2: from /usr/local/bin/pod:22:in `<main>'
    1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:262:in `bin_path'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
这似乎奏效了

我跑:

sudo gem install -n /usr/local/bin cocoapods
pod update
这似乎奏效了


我打开了xCode项目并运行了一个构建。错误不再发生,构建成功。

解决方案:破解pod文件

简短版本: 1.)在usr/local/bin/pod打开文件 2.)将顶行中的2.3更改为2.6

长版本:

有一个可执行文件位于:usr/local/bin/pod 内容如下:

#!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
#
# This file was generated by RubyGems.
#
# The application 'cocoapods' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0.a"

if ARGV.first
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
    version = $1
    ARGV.shift
  end
end

load Gem.bin_path('cocoapods', 'pod', version)
我在以下位置打开文件:
usr/local/bin/pod
并编辑第一行以将2.3更改为2.6

这产生了一些效果。现在,如果我将cd放入我的xcode项目并尝试运行“pod更新”,我会得到一个不同的错误

Mainframe:graffwriter username$ pod update
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /Users/pilotrase/bin/FDK/Tools/osx in PATH, mode 040777
Traceback (most recent call last):
    2: from /usr/local/bin/pod:22:in `<main>'
    1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:262:in `bin_path'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
这似乎奏效了

我跑:

sudo gem install -n /usr/local/bin cocoapods
pod update
这似乎奏效了

我打开了xCode项目并运行了一个生成。错误不再发生,生成成功

我的机器上存在的实际Ruby版本

事实上,这就是问题的根源。在任何情况下都不应该使用系统ruby!使用rbenv控制您的ruby版本

sudo gem install ...
废话!游戏结束了,谢谢你玩。事实上你不得不说sudo是一个主要的赠品。这将导致以后的巨大麻烦。再次,这是因为你使用的是邪恶的ruby系统。这总是错误的。它不是供公众使用的!使用rbenv,不要再说
sudo

我的机器上存在的实际Ruby版本

事实上,这就是问题的根源。在任何情况下都不应该使用系统ruby!使用rbenv控制您的ruby版本

sudo gem install ...

废话!游戏结束了,谢谢你玩。事实上你不得不说sudo是一个主要的赠品。这将在以后导致巨大的麻烦。同样,这是因为你使用的是邪恶的系统ruby。这总是错误的。它不是供公众使用的!使用rbenv,不要再说
sudo

看,嘿,马特,好名字。我是马特。谢谢作为提示。看起来是一个很好的教程。我正在通过我的选项找到一个我可以控制的版本。问题的具体原因是配置(pod)指向一个不存在的旧版本系统Ruby的文件。由于Ruby 2.3不存在,所以没有一个标准的程序去集成或重新安装POD。更新Homebrew对我来说也不顺利,所以我现在备份到问题的根源。下面的解决方案是有效的&从我阅读的内容来看,我认为很多人们可能也有同样的问题。嘿,马特,名字不错。我是马特。谢谢你的提示。看起来像是一个很棒的教程。我正在通过我的选项找到一个我可以控制的版本。问题的具体原因是配置(pod)指向一个不存在的旧版本系统Ruby的文件。由于Ruby 2.3不存在,所以没有一个标准的程序去集成或重新安装POD。更新Homebrew对我来说也不顺利,所以我现在备份到问题的根源。下面的解决方案是有效的&从我阅读的内容来看,我认为很多人们可能有同样的问题。