اگر R می‌تواند بسته‌ای را نصب کند اما آن بسته نمی‌تواند به API خود برسد، دو کلاینت درخواست را مقایسه کنید. download.file()، RCurl و لایه HTTP خود بسته الزاماً گزینه‌های یکسانی را نمی‌خوانند.

ورودی‌های نشست در حال اجرا را بررسی کنید

برنامه‌ای که از ترمینال اجرا می‌شود محیط آن ترمینال را به ارث می‌برد. یک میان‌بر دسکتاپ یا IDE که از قبل در حال اجراست می‌تواند مقادیر متفاوتی داشته باشد. فایل محیط راه‌اندازی مناسب R می‌تواند شامل این باشد:

http_proxy=http://proxy.example:8080
https_proxy=http://proxy.example:8080

این‌ها ورودی‌های فایل محیط با یک نقطه پایانی نمونه‌اند. برای درخواست‌های عمومی بسته یا API که از طریق واسطه‌های عمومی مجاز است، فهرست پروکسی HTTP نامزدهایی برای آن مقادیر عرضه می‌کند. عبارت‌های R مانند options(download.file.method = "libcurl") جایشان در کد R است، نه در .Renviron. قرار دادن تنظیم درست‌نما در قالب اشتباه آن را بی‌استفاده می‌گذارد.

فایل راه‌اندازی را که قواعد سایت/کاربر، محیط و پوشه کاری R انتخاب می‌کند شناسایی کنید. یک فایل محلی پروژه می‌تواند تفاوت بین دو پروژه در یک IDE را توضیح دهد. فایل موردنظر را تغییر دهید و نشست مربوطه را دوباره راه‌اندازی کنید؛ ویرایش آن فرایند در حال اجرا را به‌روز نمی‌کند.

درخواست بسته ناموفق را دنبال کنید

روش واقعی دانلود یا پیاده‌سازی HTTP را شناسایی کنید. فایل اجرایی curl خارجی، روش libcurl در R و RCurl مصرف‌کنندگان متمایزی با ورودی‌های پشتیبانی‌شده خودشان هستند. همان مقصد را از طریق بسته ناموفق مقایسه کنید، با پوشاندن اسرار.

دستورکارها را با همان پیاده‌سازی و نسخه R هماهنگ نگه دارید. توصیه قدیمی --internet2 در Windows رفتار تاریخی را توصیف می‌کند. طرح انتقال شنونده واقعی پروکسی را نیز حفظ کنید: مقصد HTTPS هنوز می‌تواند از نقطه پایانی پروکسی HTTP استفاده کند. نصب موفق از طریق دانلودکننده‌ای دیگر نه پیکربندی این کلاینت را ثابت می‌کند و نه دسترس‌پذیری پروکسی را برای این درخواست.

مقالات مرتبط