เปลี่ยนการกำหนดค่าคอมไพล์ของการติดตั้งแพ็กเกจในการชง


8

ฉันจะเปลี่ยนการกำหนดค่าคอมไพเลอร์ได้อย่างไรเมื่อฉันใช้การติดตั้งชง ฉันต้องการรวบรวมเสียงเรียกเข้ากับ + farsi โดยใช้ brew แต่ดูเหมือนว่า + farsi ไม่มีตัวเลือกในการชง:

$ brew install +farsi vim
Error: No available formula for +farsi

ฉันก็ลองคำสั่งนี้:

$ brew install vim --+farsi
==> Downloading http://ftp.debian.org/debian/pool/main/v/vim/vim_7.4.052.orig.tar.gz
Already downloaded: /Library/Caches/Homebrew/vim-7.4.052.tar.gz
==> Patching
patching file src/auto/configure
patching file src/osdef.sh
patching file src/os_mac.h
==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/7.4.052/share/man --enable-multibyte --with-tlib=ncur
==> make
==> make install prefix=/usr/local/Cellar/vim/7.4.052 STRIP=/usr/bin/true

แต่ยัง + farsi ไม่ได้รวบรวมเป็นกลุ่ม:

[ben@thebeast ~/vim/vim74]$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 24 2013 18:58:47)
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
-farsi

อันที่จริงมีเพียงตัวเลือกเดียวที่ใช้ได้คือ:

$ brew options vim
--disable-nls
    Build vim without National Language Support (translated messages, keymaps)
--override-system-vi
    Override system vi
--with-client-server
    Enable client/server mode
--with-lua
    Build vim with lua support
--with-mzscheme
    Build vim with mzscheme support
--with-perl
    Build vim with perl support
--with-python3
    Build vim with python3 support
--with-tcl
    Build vim with tcl support
--without-python
    Build vim without python support
--without-ruby
    Build vim without ruby support
--HEAD
    install HEAD version

สิ่งนี้หมายความว่ามีเพียงชุดย่อยของการกำหนดค่าที่มีอยู่ในการชงหรือไม่

คำตอบ:


5
  1. brew install vimติดตั้ง vim 7.4.052
  2. vim --versionรายงานเวอร์ชัน7.3

จากการสังเกตข้างต้นจะเห็นได้ชัดว่าสิ่งเหล่านี้เป็นสอง vims ที่แตกต่างกัน โดยการดำเนินการvim --versionที่คุณกล่าวอ้างเป็นกลุ่มจัดเป็นส่วนหนึ่งของ OS X (คุณสามารถตรวจสอบได้โดยwhich vimที่จะไปรายงาน/ usr / bin / เสียงเรียกเข้า , ในขณะที่โปรแกรมชงสร้างมักจะอยู่ภายใต้/ usr / localไดเรกทอรี

หากต้องการแก้ไขสูตรเรียกเป็นกลุ่มที่คุณเพิ่งเรียกใช้brew edit vimแต่คุณไม่จำเป็นต้องทำเช่นนี้เพื่อรับการสนับสนุน farsi ที่คุณต้องการ อย่างที่คุณเห็นจากVim Feature Tableการสนับสนุน farsi จะรวมอยู่ในบิลด์ใด ๆ ที่คอมไพล์ด้วย--with-features=bigหรือมีขนาดใหญ่ เนื่องจากบิวด์บิวด์ถูกคอมไพล์ด้วย--with-features=hugeพวกเขามีการสนับสนุนฟาร์ซิอยู่แล้ว

/ usr / local / bin / vim
- รุ่นVIM - Vi IMproved 7.4 (2013 10 ส.ค. , รวบรวม 1 มกราคม 2014 14:31:50) รุ่น
MacOS X (unix)
แพทช์รวม: 1-52
รวบรวมโดย Homebrew
รุ่นใหญ่โดยไม่มี GUI . คุณสมบัติที่รวม (+) หรือไม่ (-):

+ acl + farsi + mouse_netterm + ไวยากรณ์

หากต้องการใช้รุ่นชงสร้างของกลุ่มคุณอาจต้องการนามแฝงมันด้วยalias vim='/usr/local/bin/vim'หรือพยายามใด ๆ ของตัวเลือกอื่น


VIM ใดที่ส่งคืน "/ usr / local / bin / vim" นี่คือเสียงเรียกเข้าที่ติดตั้งโดยชงไม่ใช่เสียงเรียกเข้าที่ติดตั้งโดย OS X อย่างไรก็ตามเมื่อฉันเรียกใช้ "vim --version" ฉันได้รับ -farsi ดูเหมือนว่า "ชงติดตั้ง" ไม่ฟังไฟล์แก้ไขและไม่ได้รวบรวมด้วยตัวเลือกขนาดใหญ่ มีความคิดใดที่ฉันจะแก้ไขข้อบกพร่องนี้ได้บ้าง
bman

@Dane /usr/local/bin/vim --versionยังแสดง-farsi ด้วยหรือไม่
นายเตา

3

คุณสามารถแก้ไขสูตรการชงสำหรับกลุ่มซึ่งอาจเป็นที่และในไฟล์ชื่อ/usr/local/Library/Formula vim.rbคุณสามารถแก้ไขไฟล์นี้และเพิ่มตัวเลือกที่คุณต้องการในบรรทัดที่เรียกใช้กระบวนการรวบรวมเช่นsystem "make"หรือ

system "./configure", "--prefix=#{HOMEBREW_PREFIX}",
                      "--mandir=#{man}",
                      "--enable-multibyte",
                      "--with-tlib=ncurses",
                      "--enable-cscope",
                      "--with-features=huge",
                      "--with-compiledby=Homebrew",
                      *opts

ฉันไม่คิดว่ามันจะใช้งานตัวเลือกบางตัวเท่านั้นชงสร้างตัวเลือกการคอมไพล์แบบไดนามิกตามกระบวนการรวบรวมและสร้างไฟล์ของแอปพลิเคชัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.