代码之家  ›  专栏  ›  技术社区  ›  Lin Du Correcter

无服务器框架,eisdir:目录上的非法操作,读取

  •  0
  • Lin Du Correcter  · 技术社区  · 6 年前

    当我尝试 package 服务使用:

    SLS_DEBUG=* $(npm bin)/serverless package

    serverless-framework 给我一个错误:

      Error --------------------------------------------------
    
      EISDIR: illegal operation on a directory, read
    
         For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
    
      Stack Trace --------------------------------------------
    
    Error: EISDIR: illegal operation on a directory, read
        at Object.fs.readSync (fs.js:675:18)
        at tryReadSync (fs.js:540:20)
        at Object.fs.readFileSync (fs.js:583:19)
        at GoogleProvider.getAuthClient (/Users/ldu020/workspace/serverless-functions/node_modules/serverless-google-cloudfunctions/provider/googleProvider.js:72:31)
        at GoogleProvider.request (/Users/ldu020/workspace/serverless-functions/node_modules/serverless-google-cloudfunctions/provider/googleProvider.js:43:29)
        at GooglePackage.setDeploymentBucketName (/Users/ldu020/workspace/serverless-functions/node_modules/serverless-google-cloudfunctions/shared/setDeploymentBucketName.js:22:26)
    From previous event:
        at Object.package:initialize [as hook] (/Users/ldu020/workspace/serverless-functions/node_modules/serverless-google-cloudfunctions/package/googlePackage.js:44:10)
        at BbPromise.reduce (/Users/ldu020/workspace/serverless-functions/node_modules/serverless/lib/classes/PluginManager.js:390:55)
    From previous event:
        at PluginManager.invoke (/Users/ldu020/workspace/serverless-functions/node_modules/serverless/lib/classes/PluginManager.js:390:22)
        at PluginManager.run (/Users/ldu020/workspace/serverless-functions/node_modules/serverless/lib/classes/PluginManager.js:421:17)
        at variables.populateService.then.then (/Users/ldu020/workspace/serverless-functions/node_modules/serverless/lib/Serverless.js:157:33)
        at runCallback (timers.js:810:20)
        at tryOnImmediate (timers.js:768:5)
        at processImmediate [as _immediateCallback] (timers.js:745:5)
    From previous event:
        at Serverless.run (/Users/ldu020/workspace/serverless-functions/node_modules/serverless/lib/Serverless.js:144:8)
        at serverless.init.then (/Users/ldu020/workspace/serverless-functions/node_modules/serverless/bin/serverless:43:50)
        at <anonymous>
    

    我怎么解决这个问题?谢谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Lin Du Correcter    6 年前

    在查看错误堆栈之后。这个问题的原因是我没有为Google凭证设置环境变量。

    之后,它就开始工作了。

    ☁  serverless-functions [pre-dev] ⚡  PROJECT_ID=pg-gx-e-app-700452 CREDENTIALS=/Users/ldu020/workspace/serverless-functions/.gcp/pg-gx-e-app-700452-98b46018b4ea.json $(npm bin)/sls package
    Serverless: Packaging service...
    Serverless: Excluding development dependencies...
    Serverless: Compiling function "createCampaign"...
    Serverless: Compiling function "retrieveCampaignResult"...
    Serverless: Compiling function "updateCampaign"...
    Serverless: Compiling function "uploadMedia"...
    Serverless: Compiling function "createGGAWCampaign"...
    Serverless: Compiling function "updateGGAWCampaign"...
    Serverless: Compiling function "getSpecificGGAWCampaignInsightReport"...
    Serverless: Compiling function "createGGAWAdGroup"...
    Serverless: Compiling function "createGGAWExpandedTextAd"...