2010-05-09 16 views
41

मुझे यकीन नहीं है कि मुझे यह क्यों मिल रहा है, लेकिन मैंने अभी आरबीएम, नया रूबी 1.9 स्थापित किया है, और रत्नों का एक समूह पुनः स्थापित किया है, और मुझे यहचेतावनी: जब मैं रूबी या मणि कमांड चलाता हूं तो असुरक्षित दुनिया लिखने योग्य डीआईआर

मिलता है

/Users/johnsmith/.rvm/rubies/ruby-1.9.1-p378/bin/gem:4: चेतावनी: असुरक्षित दुनिया लिखने योग्य dir/opt/स्थानीय/पथ में बिन, मोड 040777

सब कुछ अभी भी चलाता है अन्यथा, लेकिन मैं सोच रहा था कि क्या कोई रास्ता था जिससे मैं इससे छुटकारा पा सकता था।

+0

[चेतावनी असुरक्षित दुनिया लिखने योग्य डीआईआर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/3952243/warning-insecure-world-writable-dir) – Kornel

+0

संभावित चेतावनी [चेतावनी प्राप्त करना "असुरक्षित दुनिया लिखने योग्य डीआईआर/घर/मौका "पाथ में, रेल और मणि के लिए मोड 040777 मोड) (http://stackoverflow.com/questions/5380671/getting-the-warning-insecure-world-writable-dir-home-chance-in-path-mode -04) – kenorb

+0

का डुप्लिकेट: [चेतावनी: असुरक्षित दुनिया लिखने योग्य डीआईआर/यूएसआर/स्थानीय/बिन में पथ, मोड 040777] (http://stackoverflow.com/questions/3952243/warning-insecure-world-writable-dir-usr -लोकल-बिन-इन-पथ-मोड -040777) – kenorb

उत्तर

87

एक शेल प्रॉम्प्ट पर बस chmod go-w /opt/local/bin (अनुमतियों के आधार पर आपको sudo ऐसा करने की आवश्यकता हो सकती है)।

+0

हाँ! आप एक प्रतिभाशाली हैं! और यह मेरी सफल स्थापना आरवीएम, रूबी 1.9, और 64-बिट चुनौती: डी – Trip

+1

है लेकिन क्या यह वास्तव में असुरक्षित है? –

+2

@ming, आपकी मशीन पर चलने वाला कोई भी प्रोग्राम '/ opt/local/bin' में कुछ भी चाहता है (इसलिए विशेष रूप से किसी भी निष्पादन योग्य "किसी भी प्रणाली को एक और अन्य ट्रोजन)" बिना किसी बावजूद " छोड़ो: यह ** कैसे ** असुरक्षित नहीं है ?! –

0

कुछ मामलों में (मेरा जैसे), ढेर opt/local/bin से गहरा हो जाता है। उस स्थिति में,

sudo chmod go-w opt/local/*/bin usr/local/*/bin opt/local/bin usr/local/bin 

किसी भी मामले में, त्रुटि यह बताती है कि असुरक्षित दुनिया कहां है।

3

अपना मणि पथ ढूंढें ताकि हम बंडलर मणि को संपादित कर सकें। अपने खोल में निम्नलिखित निष्पादित करें:

$ ruby -r rubygems -e "p Gem.path" 

वर्तमान में उपयोग किए जाने वाले बंडलर के संस्करण में अपने मणि पथ और सीडी पर नेविगेट करें। अब अपने पसंदीदा टेक्स्ट एडिटर में lib -> बंडलर और open runtime.rb पर नेविगेट करें। जोड़ें "$ वर्बोज़ = शून्य" लाइन 2.

require "digest/sha1" 
$VERBOSE = nil 
module Bundler 
class Runtime < Environment 
    include SharedHelpers 

    def setup(*groups) 
     # Has to happen first 
     clean_load_path 

...

+0

यह काम किया मेरे लिए। यह कैसे काम करता है? – Josh

+0

यह रेक आउटपुट से उत्पादन सहित सभी आउटपुट को चुप करता है। मैं क्या चाहता हूँ नहीं। –

10

स्पष्ट करने के लिए, जो कुछ भी पथ देता है यह कहते हैं असुरक्षित दुनिया लिखने योग्य के बाद, आप क्या उपयोग है।

तो इसके बजाय: chmod go-w/opt/local/bin आप अपने पथ के साथ/opt/local/bin को प्रतिस्थापित करेंगे।

1

यदि आपका पर्यावरण आपको इस त्रुटि को ठीक से ठीक करने की अनुमति नहीं देता है (यानी नेटवर्क शेयर या कुछ ऐसे पर रूबी रहता है), this answer for a way to suppress the error देखें।

संबंधित मुद्दे

 संबंधित मुद्दे