2011-06-10 18 views
18

mkdir नहीं कर सकते जब आर चलाने का प्रयास है, मैं इस त्रुटि मिलती है:गंभीर त्रुटि: R_TempDir

Fatal error: cannot mkdir R_TempDir

मैं आसपास googling द्वारा इस समस्या के लिए दो संभावित समाधान मिल गया। पहला यह सुनिश्चित करना था कि मेरी टीएमपी निर्देशिका में उपनिर्देशिका का भार न हो - यह नहीं है और यह लगभग खाली है। दूसरा फिक्स यह सुनिश्चित करना था कि मेरे पर्यावरण में टीएमपी, टीएमपीडीआईआर, और आर_यूएसईआर अस्तित्व में नहीं थे - मेरे पास ये सेट भी नहीं था। इसलिए, मैंने अपनी होम निर्देशिका में एक टीएमपी निर्देशिका बनाई और मेरे पर्यावरण में टीएमपी के लिए यह रास्ता जोड़ा। मैं एक बार आर चलाने में सक्षम था और फिर मुझे फिर से घातक त्रुटि मिली। टीएमपी निर्देशिका में कुछ भी नहीं था जिसे मैंने अपने पर्यावरण में स्थापित किया था। क्या कोई जानता है कि मैं और क्या कोशिश कर सकता हूं? धन्यवाद।

+5

आप इस प्रश्न के लिए अपना रास्ता googled है, तो डिस्क स्थान के बारे में –

+2

हाँ पिछले जवाब के लिए नीचे स्क्रॉल। डिस्क स्पेस मेरे लिए मुद्दा था – eyaler

उत्तर

15

आपकी डिफ़ॉल्ट अस्थायी निर्देशिका गलत अनुमतियाँ प्रतीत होता है। यहां मेरे पास

$ ls -ld /tmp 
drwxrwxrwt 22 root root 4096 2011-06-10 09:17 /tmp 

मुख्य भाग 'हर कोई' पढ़ या लिख ​​सकता है। आपको भी इसकी ज़रूरत है। यह निश्चित रूप से में उपनिर्देशिकाएं हो सकती हैं।

आप AppArmor या एसई लिनक्स की तरह कुछ चला रहे हैं?

संपादित 2011-07-21: किसी के रूप में बस इसे इस जवाब downvote करने के लिए आवश्यक समझा - help(tempfile) को महत्व देता है क्या tmpdir पर बहुत स्पष्ट है (अस्थायी फाइल या निर्देशिका के लिए डिफ़ॉल्ट निर्देशिका) की कोशिश करता है:

By default, 'tmpdir' will be the directory given by 'tempdir()' . This will be a subdirectory of the temporary directory found by the following rule. The environment variables 'TMPDIR' , 'TMP' and 'TEMP' are checked in turn and the first found which points to a writable directory is used: if none succeeds '/tmp' is used.

तो मेरा पैसा उन तीन पर्यावरण चरों को जांचने पर है। लेकिन AppArmor और SELinux कुछ वितरणों पर भी एक मुद्दा दिखाया गया है।

+0

मुझे डर है कि यह इतना आसान नहीं है। मुझे अब एक ही समस्या का प्रदर्शन करने वाली मशीन मिली है और टीएमपी/tmp पर सेट है, और/tmp के लिए अनुमतियां सही हैं।सिस्टम लॉग में कुछ भी प्रतीत नहीं होता है जो किसी समस्या को इंगित करता है। –

+0

क्या हमें यह बताने के लिए सामान लॉग करना नहीं है कि क्या हो रहा है? –

+0

यदि कोड लिखा गया है कि यह लॉग है, हाँ। सभी कोड मानने में आपकी गलती करता है। –

21

डिर्क सही है, लेकिन एक बात याद करते हैं: अगर /tmp भरा हुआ है, आप उपनिर्देशिकाएं वहाँ नहीं बना सकते।

df /tmp 

मैं सिर्फ एक साझा सर्वर, जहां /tmp अपने आप विभाजन पर लगाया गया है पर इस मारा, और कई उपयोगकर्ताओं द्वारा साझा किया जाता का प्रयास करें। इस विशेष मामले में, आप वास्तव में यह नहीं देख सकते कि यह किसकी गलती है, क्योंकि अनुमतियां आपको यह देखने को प्रतिबंधित करती हैं कि tmp विभाजन भरने वाला कौन है। मूल रूप से इसे समझने के लिए sys व्यवस्थापक से पूछना है।

0

बस इस मुद्दे था और अंत में इसे हल। बस एक विंडोज़ अनुमति मुद्दा। पर्यावरण चर पर जाएं और अस्थायी फ़ोल्डरों का स्थान खोजें। फिर फ़ोल्डर> गुण> सुरक्षा> उन्नत> सभी को पूर्ण नियंत्रण में बदलें> पर क्लिक करें> इस ऑब्जेक्ट से विरासत अनुमति प्रविष्टियों के साथ सभी बाल ऑब्जेक्ट अनुमति प्रविष्टियों को प्रतिस्थापित करें "> ठीक है> ठीक है।

1
अपने उपयोगकर्ता निर्देशिका में

जाओ और एक फ़ाइल .Renviron कहा जाता है बना सकते हैं और निम्न पंक्ति जोड़ने के लिए, यह बचाने के लिए और RStudio या Rgui या Rterm

TMP = '<path to folder where Everyone has full control>' 

फिर से खोलना यह विंडोज 7

0

इस पर मेरे साथ काम किया तब भी होगा जब आपका कंप्यूटर पूरी तरह से अंतरिक्ष से बाहर हो। वर्तमान में, मेरे मैक में 0 केबी मुक्त है और यह इस त्रुटि का कारण बन रहा है। कुछ जगह मुक्त करने से समस्या हल हो गई।

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