2017-07-06 20 views
6

पर संग्रहीत प्रोजेक्ट के भीतर पहले निर्देश के साथ 'dir.create() `पर अप्रत्याशित कॉल, सबसे पहले, पुनरुत्पादित उदाहरण की कमी के लिए क्षमा चाहते हैं, लेकिन मैं वास्तव में एक प्रदान नहीं कर सकता क्योंकि मुझे विश्वास है कि समस्या निहित है मेरे नेटवर्क सेटिंग्स के भीतर। कृपया इस प्रश्न को इस मुद्दे को डीबग करने में मदद के लिए कॉल के रूप में देखें ...RStudio: किसी नेटवर्क ड्राइव

आरस्टूडियो में खोलने के बाद एक नेटवर्क ड्राइव पर संग्रहीत एक परियोजना और बहुत पहले निर्देश (इसे पैकेज लोड होने या यहां तक ​​कि a <- 1) देख रहा है कंसोल में एक बहुत अजीब उत्पादन:

> a <- 1 
Warning message: 
In dir.create(tempPath, recursive = TRUE) : 
    cannot create dir 'F:\Marketing', reason 'Permission denied' 

मैं (अस्थायी, TMP, TMPDIR) सभी संभव अस्थायी dirs उपयोगकर्ता वातावरण चर में स्थापित और Sys.getenv() उन्हें सही ढंग से प्रिंट कर रहा है है।

"एफ: \ मार्केटिंग" मेरे नेटवर्क ड्राइव पर एक वैध पथ है और यह परियोजना की मूल निर्देशिका है।

मैंने debugonce(dir.create) में कोशिश की है .प्रोफाइल यह देखने के लिए कि tempPath क्या है, लेकिन दुर्भाग्यवश इसके परिणामस्वरूप "अवैध 'वातावरण' तर्क" त्रुटि हुई।

परियोजना को स्थानीय ड्राइव पर कॉपी करने के बाद समस्या गायब हो जाती है, इसलिए यह स्पष्ट रूप से एक नेटवर्क ड्राइव/नेटवर्क सेटअप समस्या है, लेकिन मुझे नहीं पता कि मुझे और मेरे आईटी विभाग को खोदना है। वास्तव में यहां उपयोगी नहीं है ...

कोई भी विचार इस चेतावनी को कैसे डिबग करना है?

+0

मेरी समझ यह है कि यदि आप विंडोज़ पर हैं तो आपको 'एफ: \ मार्केटिंग' के लिए अपना आर प्रोग्राम कोड जांचना होगा और' एफ: \\ मार्केटिंग 'या' एफ: मार्केटिंग 'के साथ प्रतिस्थापित करना होगा। ऐसे कई आर फ़ंक्शन क्यों हैं जो एक फ़ाइल स्ट्रिंग वाले वर्ण स्ट्रिंग की अपेक्षा करते हैं, जिसमें उस फ़ाइल के पथ को शामिल करने की आवश्यकता हो सकती है। विंडोज़ में पथ नामों के रूप में आर के साथ एक दुर्भाग्यपूर्ण टक्कर है। पथ नामों में विभाजक बैकस्लैश है, जिसमें आर अक्षरों के तारों में भागने वाला चरित्र है। – Technophobe01

+0

मुझे उम्मीद है कि यह मदद करता है - अगर नहीं, तो मैं विंडोज मशीन पर कोशिश और पुन: पेश कर सकता हूं। – Technophobe01

+1

कोई प्रोजेक्ट खोलते समय, RStudio प्रोजेक्ट फ़ोल्डर में '.Rproj.user' फ़ोल्डर बनाता है। मुझे नहीं लगता कि आप इसे बदल सकते हैं, इसलिए आप सबफ़ोल्डर – HubertL

उत्तर

0

त्रुटि संदेश बहुत स्पष्ट है। यह आपके अस्थायी dirs के बारे में नहीं है। यह है कि आपको जगह पर एक फ़ोल्डर बनाने की अनुमति की आवश्यकता है।

एक संभावना यह है कि आपके पास ऐसी जगहों पर फ़ोल्डर बनाने की अनुमति नहीं है, उदाहरण के लिए नेटवर्क ड्राइव कई उपयोगकर्ताओं द्वारा साझा किया जाता है और सामान्य उपयोगकर्ताओं को मूल निर्देशिका में फ़ोल्डर बनाने की अनुमति नहीं होती है। यदि ऐसा है, तो कोई भी आपके आईटी डिप्टी को छोड़कर आपको अनुमति नहीं दे सकता है, या आप अपने व्यक्तिगत फ़ोल्डर के तहत फ़ोल्डर बनाने का प्रयास कर सकते हैं।

अगर आपको लगता है कि आपके पास फ़ोल्डर बनाने की अनुमति है, उदाहरण के लिए आपके पास सुडो अनुमति है, तो आप system('sudo mkdir -p tempPath') का उपयोग करने का प्रयास कर सकते हैं।

संपादित करें: क्षमा करें मुझे यह नहीं पता था कि यह विंडोज सिस्टम है, और sudo उपलब्ध नहीं है। लेकिन विचार समान है। शायद आप "व्यवस्थापक के रूप में चलाएं" या ऐसा कुछ करने का प्रयास कर सकते हैं।

+0

'सुडो' विंडोज़ में काम करता है? –

+0

@ 42- बेशक नहीं।क्षमा करें मैंने पहले विंडोज़ चीज़ को नोटिस नहीं किया था। यह इंगित करने के लिए Thx। – Consistency

+0

मुझे विश्वास है कि समस्या थोड़ा गहरी है। मैंने अभी देखा है कि मैंने विवरण में गलती की है, 'एफ: \ मार्केटिंग' का उपयोग कभी भी परियोजना द्वारा नहीं किया जाना चाहिए, क्योंकि यह प्रत्यक्ष रूट नहीं है, लेकिन रास्ते में अन्य फ़ोल्डर्स हैं (जैसे 'एफ' : \ मार्केटिंग \ फोल्डर ए \ फ़ोल्डर बी \ आदि 'ऐसा लगता है जैसे पथ कहीं काटा जाता है। RStudio devs के लिए एक प्रश्न की तरह दिखता है। –

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