详细的堆栈跟踪:错误:找不到模块“条带”

Posted

技术标签:

【中文标题】详细的堆栈跟踪:错误:找不到模块“条带”【英文标题】:Detailed stack trace: Error: Cannot find module 'stripe' 【发布时间】:2020-03-24 10:09:18 【问题描述】:

我正在使用颤振应用程序中的条纹支付。流程是我正在生成卡的令牌并发送到火基地稍后云功能将获取卡详细信息并使用条带 API 收取付款我面临一个问题npm install strip 成功安装条带但是当我运行firebase deploy 它显示错误。 这是我正在写的云函数。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
//const firestore= admin.firestore();
//const setting =timestampInSnapshots:true;
// firebase.setting(setting);
const stripe = require('stripe')(functions.config().stripe.testkey)
exports.addStripeSource =functions.firestore.document('cards/userid/Tokens/tokenid')
.onCreate(async (tokenSnap, context)=> 
   var customer;
   const data=tokenSnap.aftter.data();
   if(data == null)
       return null;
   
   const token =data.tokenId;
   const snapshot =await firestore.collection('cards').doc(context.params.userId).get();
   const customerId=snapshot.data().custId;
   const customerEmail=snapshot.data().Email;
   if(customerId == 'new')
   
       customer= await stripe.customers.create(
           email: customerEmail,
           source: token,
       );
       firestore.collection('cards').doc(context.params.userId).update  (
           custId: customer.id,
       )
   
   else
       customer= await stripe.customers.retrieve(customerId);
   
   const customerSource= customer.sources.data[0];
   return firestore.collection('cards').doc(context.params.userId).collection('sources').doc(customerSource.card.fingerprint).set(customerSource)


)

package.json 文件


  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": 
    "serve": "firebase serve --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  ,
  "engines": 
    "node": "8"
  ,
  "dependencies": 
    "firebase-admin": "^8.6.0",
    "firebase-functions": "^3.3.0"
  ,
  "devDependencies": 
    "firebase-functions-test": "^0.1.6"
  ,
  "private": true


【问题讨论】:

【参考方案1】:

我遇到了同样的问题。发现我需要打开终端或命令提示符并 cd 到 firebase 的“functions”文件夹,然后在那里运行npm install stripe。一旦完成,它就起作用了。

【讨论】:

谢谢。我忘记输入文件夹了。【参考方案2】:

您似乎安装了strip,而不是您应该安装以下内容:

npm install stripe --save

https://www.npmjs.com/package/stripe

【讨论】:

添加你的 package.json 我编辑问题请看一下 package.json 文件 package.json 应该在依赖项中包含stripe,这意味着它没有被安装。你确定他们在执行命令时没有错误吗?还要检查你项目的node_modules,看看是否安装了stripe 我发现了这个问题,但我确实手动添加了条带依赖,它也不起作用。 我也遇到了这个错误。 Stripe 在“依赖项”中,但不在 devDependencies 中。【参考方案3】:

确保从函数目录而不是项目目录安装包。我在项目目录中意外安装了软件包,它在本地工作正常,但在部署时会产生错误。所以,

cd functions
npm install [your package]

然后就可以正常使用了

【讨论】:

【参考方案4】:

步骤: 这也对我有用,我已经在正确的文件夹中完成了安装,就像在 firebase 函数文件夹(后端)中一样,当我尝试使用以下方法部署它时遇到了问题: firebase deploy --only functions 命令,当问题出现时,我运行了 firebase functions log 命令 firebase function log: --only “Myfunction name here”。 在日志中我发现错误:详细的堆栈跟踪:错误:找不到模块'stripe'所以我安装了stripe使用: npm install @stripe/stripe.js ....这并没有解决问题!我必须先像这样安装条纹:npm install stripe,然后我运行上一个命令:npm install @stripe/stripe.js 在此之后,我运行了 firebase deploy 命令: firebase deploy --only 功能,瞧!一切正常 - 部署完成! - 希望这对某人有帮助!

【讨论】:

以上是关于详细的堆栈跟踪:错误:找不到模块“条带”的主要内容,如果未能解决你的问题,请参考以下文章

Nestjs 错误:找不到模块“./app.controller”

Nestjs错误。找不到模块'.app.controller'。

错误:找不到模块 'webpack/lib/rules/DescriptionDataMatcherRulePlugin' 需要堆栈:

吉普错误!堆栈错误:找不到模块“psl”

找不到网络路径

找不到 android NDK 堆栈跟踪