我在MacBook Pro上进行了全新安装,并安装了Mavericks,MacTex,Textmate和Texlive。
我正在尝试使用一些LaTex文档,我在构建时遇到了这个错误:
undefined method `+' for nil:NilClass (NoMethodError).
在之前的使用中,我没有看到此错误。
以下是我认为我需要调整的脚本,但我不知道如何。我在“Ruby undefined method `+' for nil:NilClass (NoMethodError)”中找到了指南,但它似乎并不适用。
我也怀疑通过Chrome下载MacTex,我检查过它在终端没问题,运行校验和,但确实如此,但MacTex网站建议不要使用Chrome。
脚本带有“问题:”
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
# coding: utf-8
require ENV["TM_SUPPORT_PATH"] + "/lib/tm/process"
require ENV["TM_SUPPORT_PATH"] + "/lib/tm/htmloutput"
require ENV["TM_SUPPORT_PATH"] + "/lib/tm/save_current_document"
# To enable the typesetting of unsaved documents, you must change the “Save” setting of
# this command to “Current File” and add the variable TM_LATEX_AUTOSAVE to TextMate's
# Shell Variables preferences. Be warned that your document must be encoded as UTF-8 if
# you excercise this option — becauseTextMate.save_current_document cannot know the file
# encoding you prefer.
TextMate.save_current_document unless ENV["TM_LATEX_AUTOSAVE"].nil?
texMate = ENV["TM_BUNDLE_SUPPORT"] + "/bin/texMate.py"
engine_version = TextMate::Process.run(texMate, "version")
TextMate::HTMLOutput.show(:title => "Typesetting “#{ENV["TM_DISPLAYNAME"] || File.basename(ENV["TM_FILEPATH"])}”…", :sub_title => engine_version) do |io|
TextMate::Process.run(texMate, 'latex', '1', :interactive_input => false) do |line|
io << line
end
end
::Process.exit($?.exitstatus || 0) # exitstatus is nil if our process is prematurely terminated (SIGINT)
任何帮助都会很棒,谢谢。
答案 0 :(得分:1)
当您尝试在+
上使用nil
方法时,会收到错误消息:
nil + 'something'
在您的代码中,“+”符号出现在4个位置:
require ENV["TM_SUPPORT_PATH"] + "/lib/tm/process"
require ENV["TM_SUPPORT_PATH"] + "/lib/tm/htmloutput"
require ENV["TM_SUPPORT_PATH"] + "/lib/tm/save_current_document"
...
texMate = ENV["TM_BUNDLE_SUPPORT"] + "/bin/texMate.py"
这意味着ENV["TM_SUPPORT_PATH"]
或ENV["TM_BUNDLE_SUPPORT"]
中的一个会返回nil
。
ENV
构造反映了机器环境变量的内容,因此您应该确保设置了环境变量TM_SUPPORT_PATH
和TM_BUNDLE_SUPPORT
。
答案 1 :(得分:0)
问题解决了。我删除了Textmate,然后依靠Hazel删除所有附属文件。我使用TexLive来更新所有包,......只需要进行大修。遵循Mactex指导使用Safari进行所有未来的下载,包括Textmate,Installed Textmate的新下载,然后遵循本指南,如何和“为什么使用TextMate for LaTeX”,由Kelle,http://www.astrobetter.com/how-and-why-to-use-textmate-for-latex/#comment-595219 ...顺便说一下优秀的博客,以帮助教学。然后我重新启动,这可能没有必要。工作奇妙。我不能评论上面调整的价值,Red Herrings比比皆是,缺勤的程度可能表明初始安装已经关闭(猜测)。感谢
答案 2 :(得分:0)
我遇到了类似的问题,在我清理了一些我不需要的软件包并安装了一些新的软件包后,所有的构建工作都停止了。解决方案是我卸载了Bundle“Bundle Support”,即使它在描述中说“no not uninstall”。
重新激活“捆绑支持”为我解决了这个问题。