You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言NASAaccess包时_netrc文件异常问题的排查与解决

排查NASAaccess无法识别.netrc文件的问题

1. 检查.netrc文件的权限与格式

  • 权限设置:在Linux/macOS系统中,curl要求.netrc必须设置严格的私有权限,否则会直接忽略该文件。执行以下命令修正权限:
    chmod 600 ~/.netrc
    
  • 格式验证:确保文件内容完全符合NASA Earthdata的要求,不能有多余空格、注释或空行,标准格式如下:
    machine urs.earthdata.nasa.gov
    login YOUR_EARTHDATA_USERNAME
    password YOUR_EARTHDATA_PASSWORD
    

2. 确认文件命名与路径

  • 仅~/.netrc(主目录下以英文点号开头的文件)会被curl和NASAaccess识别,你创建的_netrc属于无效命名,可以直接删除或重命名为.netrc。
  • 若使用Windows系统,正确的文件名应为_netrc(下划线开头),且必须放在C:\Users\你的用户名目录下,注意区分大小写和命名规则。

3. 用curl直接测试认证有效性

跳过R环境,直接用curl命令验证.netrc是否能正常触发认证:

curl -L -n https://urs.earthdata.nasa.gov/profile

如果命令能返回你的Earthdata个人主页内容,说明文件配置有效;若仍提示认证失败,回到第一步检查权限和格式。

4. 确认R环境识别的主目录

R的主目录可能与系统默认主目录不一致,执行以下R代码查看:

path.expand("~")

若输出路径与你存放.netrc的目录不符,要么将文件移动到R识别的主目录,要么手动指定主目录路径:

Sys.setenv(HOME = "/你的实际主目录路径")

5. 手动指定.netrc路径给NASAaccess

尝试在调用NASAaccess函数前,手动设置环境变量指定.netrc位置:

Sys.setenv(NETRC = "~/.netrc")

之后再运行获取降雨数据的代码。

6. 重置认证cookie

删除主目录下的.urs_cookie文件,重新运行NASAaccess代码。旧cookie可能过期或与当前认证信息不匹配,重新生成的cookie会自动适配.netrc的配置。


内容的提问来源于stack exchange,提问作者Ratnadeep Dutta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:10:26