मणि देशी विस्तार (कम्पास स्थापित करना) बनाने में विफल


275

जब मैं कम्पास ( https://rubygems.org/gems/compass/versions/1.0.0.alpha.17 ) के नवीनतम संस्करण को स्थापित करने का प्रयास करता हूं, तो मुझे निम्न त्रुटि मिलती है।

ERROR:  Error installing compass:
ERROR: Failed to build gem native extension.

 ERROR:  Error installing compass:
  ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... yes
checking for ffi_call() in -lffi... yes
checking for ffi_prep_closure()... yes
checking for ffi_raw_call()... no
checking for rb_thread_blocking_region()... yes
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... no
creating extconf.h
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling AbstractMemory.c
compiling ArrayType.c
compiling Buffer.c
compiling Call.c
Call.c:303:5: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration]
    rbffi_thread_blocking_region(call_blocking_function, data, (void *) -1, NULL);
    ^
./Thread.h:78:39: note: expanded from macro 'rbffi_thread_blocking_region'
# define rbffi_thread_blocking_region rb_thread_call_without_gvl
                                      ^
1 warning generated.
compiling ClosurePool.c
compiling DataConverter.c
DataConverter.c:43:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
compiling DynamicLibrary.c
compiling ffi.c
compiling Function.c
Function.c:479:33: warning: incompatible pointer types passing 'VALUE (void *)' to parameter of type 'void *(*)(void *)' [-Wincompatible-pointer-types]
        rb_thread_call_with_gvl(callback_with_gvl, &cb);
                                ^~~~~~~~~~~~~~~~~
Function.c:102:46: note: passing argument to parameter 'func' here
extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
                                             ^
Function.c:563:9: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration]
        rb_thread_call_without_gvl(async_cb_wait, &w, async_cb_stop, &w);
        ^
Function.c:738:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
3 warnings generated.
compiling FunctionInfo.c
compiling LastError.c
compiling LongDouble.c
compiling MappedType.c
compiling MemoryPointer.c
compiling MethodHandle.c
compiling Platform.c
compiling Pointer.c
compiling Struct.c
compiling StructByReference.c
compiling StructByValue.c
compiling StructLayout.c
compiling Thread.c
compiling Type.c
compiling Types.c
compiling Variadic.c
linking shared-object ffi_c.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [ffi_c.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.3 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-13/2.0.0/ffi-1.9.3/gem_make.out

यहाँ क्या चल रहा है? मैं त्रुटि के बिना नवीनतम कम्पास कैसे स्थापित करूं?



कृपया सुनिश्चित करें कि आपने अपने सिस्टम पर बना लिया है।
सॉर्टर

जवाबों:


577

यह कोशिश करें, फिर कम्पास को फिर से स्थापित करने का प्रयास करें

apt-get install ruby-dev

33
यह उबंटू पर त्रुटि को ठीक करता है, लेकिन ऐसा लगता है कि ओपी OSX का उपयोग कर रहा है।
म्हानागोका

1
Ubuntu 14.04 LTS पर मेरे लिए फिक्स्ड
thomh

30
CentOS पर "yum install ruby-devel" के साथ काम किया गया है जो समकक्ष है। धन्यवाद !
बी

6
OSx प्रश्न के उत्तर में मेरी उबंटू समस्या का हल खोजने के लिए मजेदार। फिर भी, आपको मेरा उत्तर मिल गया है क्योंकि आपके उत्तर से मेरी समस्या हल हो गई। Tnx!
ई-सुशी

3
किसी भी विचार कैसे यह विंडोज पर काम करने के लिए पाने के लिए? मैं रूबी देव उपकरण का उपयोग कर स्थापित किया है, choco install ruby2.devkitलेकिन यह अभी भी काम नहीं कर रहा है
jtate

124

मैक ओएस एक्स 10.10 (योसेमाइट) पर कम्पास स्थापित करने के लिए निम्नलिखित प्रदर्शन करना था:

1. रूबी पर्यावरण सेट करें

  • सुनिश्चित करें कि रूबी स्थापित है और अद्यतित है: ruby -v
  • मणि को अद्यतन करें sudo gem update --system

2. मैक पर्यावरण सेट करें

कम्पोड स्थापित करने के लिए Xcode कमांड लाइन उपकरण स्थापित करें यह कुंजी है।

xcode-select --install

Xcode कमांड लाइन टूल्स को स्थापित करना कम्पास को OS X पर काम करने की कुंजी है

3. कम्पास स्थापित करें

sudo gem install compass

3
मेरे लिए यह बिल्कुल सही उत्तर था, इसे
svnm

2
धन्यवाद, मेरे लिए काम किया, आप सही हैं, Xcode कमांड लाइन उपकरण कुंजी हैं।
सारकॉम

5
यह मेरे लिए एक जोड़ के साथ काम करता है - आपको वास्तव में XCODE शुरू करना होगा ताकि आप लाइसेंस समझौते को स्वीकार कर सकें और इसे सेटअप खत्म कर सकें। आपके उत्तर पर टैग करने लायक हो सकता है।
ब्रुफर्ड

जीयूआई के माध्यम से अद्यतन (समझौते की शर्तों) को स्वीकार करना भी काम किया।
कैसिओसैब्रल

हाल ही में अपडेट किए गए मैकबुक प्रो पर सिएरा 10.12.6 में, मुझे भी नियम और शर्तों को स्वीकार करने के लिए "sudo xcodebuild -license" चलाना पड़ा, sudo gem इंस्टॉल कम्पास चलाने से पहले ....
jocherra

46

सबसे अच्छा तरीका sudo apt-get install ruby-compassकम्पास को स्थापित करना है।


1
वाह, कभी-कभी यह इतना आसान है ^ ^ मणि के साथ कम्पास स्थापित करने की कोशिश की, लेकिन कुछ निर्भरताएं थीं जो मणि द्वारा हल नहीं की गईं। उपयुक्त के साथ यह ठीक काम किया! धन्यवाद
naitsirch

38

आप डेबियन के साथ कोशिश कर सकते हैं

sudo apt-get install gcc ruby-dev rubygems compass

फेडोरा के लिए, सेंटोस

yum -y install gcc ruby-devel rubygems compass

इसने मेरे लिए काम किया।


5
मुझे भी स्थापित करना था make
cweiske


30

मैंने आपके साथ लगभग 3 घंटे तक एक ही मुद्दे पर संघर्ष किया। के रूप में Compass 1.0.alpha19, आवश्यकता rvm संस्करण 1.9.3 के लिए है।

कई अघोषित पद हैं, हालांकि मेरे लिए काम करना निम्नलिखित था:

  1. sudo gem uninstall sass
  2. sudo gem uninstall compass
  3. rvm install ruby-1.9.3-p448
  4. sudo gem install sass --pre
  5. sudo gem install compass --pre

और यह किया है। आशा है कि यह आपके लिए भी काम करे!


मेरे पास हाल ही में एक ही मुद्दा था लेकिन एक नए संस्करण के साथ। मैंने जो भी किया वह माणिक संस्करण की स्थापना करने के लिए है जिसे मैंने पहले एप्टीट्यूड के साथ स्थापित किया था और फिर मैंने इसे फिर से निर्देशों के साथ स्थापित किया: rvm.io/rvm/install । ठीक से निर्मित नए रूबी / आरवीएम संस्करण कम्पास के साथ।
एडोसिगुआस

2
इसके लिए धन्यवाद, बहुत मददगार। मैंने चरण 3 को rvm install ruby-2.1.21.9.3 के रूप में बदल दिया, अब अपडेट नहीं किया जा रहा है
timelf123

24

मेरे लिए इस मुद्दे को हल करने के लिए, मुझे यह सुनिश्चित करना था कि मेरे पास रूबी और रत्नों का सबसे वर्तमान संस्करण था gem update --system; फिर, मुझे यह सुनिश्चित करना था कि Xcode & Command Line Tools इंस्टॉल किए गए थे xcode-select --install:।


xcode-select --installकिया गया था, लेकिन यह मेरे लिए इसे हल नहीं करता है
Ade

14

मैक ओएस पर आपको यह सुविधा स्थापित करने की आवश्यकता है!

xcode-select --install

10

नमस्ते यह मैक पर काम पाने के लिए एक चुनौती थी, वैसे भी यहाँ एक समाधान है

  1. Macports स्थापित करें
  2. आरवीएम स्थापित करें
  3. टर्मिनल को पुनरारंभ करें
  4. दौड़ो rvm requirementsतो दौड़ोrvm install 2.1
  5. और चलाने के लिए अंतिम चरण gem install compass --pre

मुझे यकीन नहीं है लेकिन Mavericks पर माणिक संस्करण देशी एक्सटेंशन आदि का समर्थन नहीं करता है ... इसलिए यदि आप अन्य रूबी संस्करण की ओर इशारा करते हैं जैसे मैंने "2.1" किया तो यह ठीक काम करता है।


मैं macports का उपयोग नहीं करने की सलाह दूंगा।
नामिस

6

निश्चित नहीं है कि इनमें से किसी को भी सही उत्तर के रूप में चिह्नित नहीं किया गया है, लेकिन मैं एक Google खोज के माध्यम से यहां आया हूं, इसलिए मैं जो कुछ भी करूंगा, उसके साथ मैं गुजरूंगा

@ paul_g का तरीका मेरे लिए बहुत करीब था, मैक osx10.9 रेटिना पर मेरे कदम:

  • Macports स्थापित करें
  • Rvm स्थापित करें ( --insecureSSL संबंधित मुद्दों के लिए रूबी ऐड फ्लैग के साथ स्थिर ) $\curl -sSL --insecure https://get.rvm.io | bash -s stable --ruby
  • टर्मिनल / संसाधन को अपनी प्रोफ़ाइल को पुनः आरंभ करें
  • Daud rvm requirements --with-gcc=clang आपको रूबी को अपडेट नहीं करना होगा क्योंकि आपने अंतिम स्थिर संस्करण डाउनलोड किया था
  • और चलाने के लिए अंतिम चरण gem install compass --pre

5

यदि आप उबंटू का उपयोग कर रहे हैं, तो आपको बिल्ड-आवश्यक स्थापित करने का प्रयास करना चाहिए

apt install build-essential

मुझे उबंटू की ताजा स्थापना पर रत्न स्थापना से परेशानी थी, और इस समाधान ने मेरे लिए काम किया।


मुझे भी यही समस्या थी। कुछ और लोगों को इसे उभारना चाहिए।
सॉर्टर

4

आपको Apple के कमांड लाइन टूल को स्थापित करने की आवश्यकता हो सकती है, जो संभवत: आपके सिस्टम पर डिफ़ॉल्ट रूप से स्थापित नहीं हैं। मुझे वही त्रुटि मिल रही थी, लेकिन यहां किसी भी निर्देश का पालन करने से पहले मैंने कमांड लाइन टूल्स (एक असंबंधित मुद्दे के कारण) और लो और निहारना कम्पास को बिना समस्या के स्थापित किया जब मैंने फिर से कोशिश की। YMMV।


इसने मेरे लिए उपरोक्त मुद्दे को हल किया, इसलिए मैं कहूंगा कि यह उपरोक्त प्रश्न का एक स्वीकार्य उत्तर है।
पीटर जे हैरिसन

4

Yosemite पर कम्पास को स्थापित करने के लिए आपको रूबी पर्यावरण स्थापित करने और Xcode कमांड लाइन टूल्स को स्थापित करने की आवश्यकता है। लेकिन, सबसे महत्वपूर्ण बात, Xcode अपडेट करने के बाद, Xcode एप्लिकेशन लॉन्च करना सुनिश्चित करें और Apple लाइसेंस शर्तों को स्वीकार करें । यह घटकों की स्थापना को पूरा करेगा। उसके बाद, आप कम्पास स्थापित कर सकते हैं: सूडो मणि स्थापित कम्पास


3

MacOS 10.14 Mojave के लिए, सुनिश्चित करें कि आपने पहले से ही कमांड लाइन टूल इंस्टॉल किए हैं xcode-select --installऔर std हेडर स्थापित करने के लिए निम्न कमांड चलाएं।

sudo open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

अब अपने आदेश को फिर से आज़माएं।


3

आपके पास gcc, json_pure होना चाहिए

मैं कई पोस्ट से कुछ जानकारी एकत्र करता हूं

sudo gem uninstall sass
sudo gem uninstall compass
sudo gem update --system
gem install json_pure   (if you have already have continued to next step)
sudo yum install gcc gcc-c++   (if you have already have continued to next step)
sudo gem install sass

sudo gem install compass

नमस्ते अगर ** sudo रत्न अद्यतन - सिस्टम ** काम नहीं कर रहा है तो आपको अपडेट में कोई त्रुटि मिली है तो उपयोग करें

सूद मणि अद्यतन - सिस्टम 2.7.8


मुझे sudo yum install -y redhat-rpm-configइस त्रुटि के कारण कम्पास स्थापित करने से पहले फेडोरा 24 के लिए भी दौड़ना पड़ा :gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
ब्रायस गुइंटा

sudo gem update --system: मुझे त्रुटियों दे दी है ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem:(
Ade

2

Yosemite पर, आपको बस इतना करना होगा कि कमांड लाइन टूल इंस्टॉल करें। तब यह काम करता है।

भले ही अन्य रत्न ठीक लगे। आप काम करने के लिए कम्पास स्थापित करने के लिए xcode-select --install चलाना चाहिए।

सौभाग्य।


2

Mac OS X 10.9 पर, यदि आप प्रयास करते हैं xcode-select --install, तो आपको निम्न त्रुटि मिलेगी:

सॉफ़्टवेयर स्थापित नहीं किया जा सकता क्योंकि यह वर्तमान में सॉफ़्टवेयर अपडेट सर्वर से उपलब्ध नहीं है।

इसका समाधान सीधे Apple वेबसाइट से कमांड लाइन टूल्स (OS X 10.9) डाउनलोड करना है: https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-

फिर आप कमांड लाइन टूल्स के अंतिम संस्करण को स्थापित करने में सक्षम होंगे।


2

Ubuntu 14.04 में, एप्टीट -गेट स्थापित रूबीज को निष्पादित करते समय , एक त्रुटि होती है

ई: पैकेज 'रूबिजम' में कोई स्थापना उम्मीदवार नहीं है

आदेश का पालन करें समस्याओं का समाधान।

sudo apt-get install जीसीसी रूबी-डेवेल रूबीज-इंटीग्रेशन रूबी-कम्पास


2

कोशिश करो brew install coreutils

मैं एक उम्र बढ़ने के sass / कम्पास परियोजना है कि हाल ही में एक सहकर्मी द्वारा 2.2.5 रूबी को अद्यतन किया गया था के पुनर्निर्माण के दौरान इस समस्या को मारा है। परियोजना rvm और बंडल का उपयोग करती है। ये मेरे आदेश थे

$ rvm install ruby-2.2.5
$ rvm use ruby-2.2.5
$ gem install bundler
$ bundle install

इसने मुझे प्रसिद्ध ffiस्थापना त्रुटियों को मारा , जो कि StackOverflow परिवेश के आसपास बताई गई हैं:

An error occurred while installing ffi (1.9.14), and Bundler cannot continue.

इस समस्या को हल करने के लिए अधिकांश सुझाव Xcode कमांड लाइन टूल स्थापित करने के लिए हैं। हालाँकि यह पहले से ही मेरे वातावरण में स्थापित था:

$ xcode-select -p
/Library/Developer/CommandLineTools

अन्य सुझावों के लिए gcc स्थापित करने के लिए कहा ... तो मैंने कोशिश की:

$ brew install gcc46

लेकिन यह भी एक विभाजन गलती के कारण विफल ... ¯\_(ツ)_/¯

इसलिए, मैंने हाथ से कम्पास स्थापित करने की कोशिश की, बस यह देखने के लिए कि क्या यह वही ffiत्रुटि देगा:

$ gem install compass

लेकिन मेरे आश्चर्य के लिए, मुझे एक पूरी तरह से अलग त्रुटि मिली:

make: /usr/local/bin/gmkdir: No such file or directory

इसलिए मैंने उस मुद्दे को खोजा, और इस प्राचीन ब्लॉग पोस्ट को पाया जिसने कहा कि कोरुटिल्स को स्थापित करें:

$ brew install coreutils

इंस्टॉल करने के बाद coreutilsहोमब्रे के साथ , बंडलर कम्पास और निर्भरता को सफलतापूर्वक समाप्त करने में सक्षम था।

समाप्त।



2

कब

मणि स्थापित करें

रन भी इस त्रुटि टर्मिनल में रखा गया है।

Failed to build gem native extension

कृपया ऐसा ही करें

xcode-select --install

और यह उस मुद्दे को भी ठीक कर देगा


मुझे मिलता है xcode-select: error: command line tools are already installed, use "Software Update" to install updates। यह इसे ठीक नहीं करता है।
Ade

2

Mac OS के लिए:

मेरी त्रुटि थी कि मैं XCode - प्राथमिकताएं - स्थान - कमांड लाइन टूल में नए XCode इंस्टॉलेशन के बाद (मेरे 2 संस्करण थे और बाद में मैंने एक को हटा दिया) में विकल्प का चयन करना भूल गया। शायद यह किसी की मदद करेगा।

यहां छवि विवरण दर्ज करें


1

यह कोशिश करें, फिर कम्पास को फिर से स्थापित करने का प्रयास करें

sudo apt install ruby-full

0

लिनक्स टकसाल पर मुझे यही समस्या थी लेकिन मैं इसे माणिक की स्थापना रद्द करके इसे फिर से स्थापित करने में सक्षम था।

माणिक स्थापना रद्द करें:

sudo apt-get remove ruby

इसने कुछ रूबी पैकेजों की सूचना दी जैसे:

Package 'ruby' is not installed, so not removed
The following packages were automatically installed and are no longer required:
libruby2.2 ruby-chunky-png ruby-sass rubygems-integration
Use 'apt-get autoremove' to remove them.

शेष पैकेज * की स्थापना रद्द करें

apt-get autoremove

माणिक फिर से स्थापित करें

sudo apt-get install ruby2.2

कम्पास स्थापित करें

sudo gem install compass

अंतिम आदेश को सफलता के साथ निष्पादित किया गया था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.