2013-02-17 92 views
1

我想这个例子部署到Cloud FoundryVMC推变量Errno :: ENOENT:没有这样的文件或目录

https://github.com/andris9/Nodemailer/blob/master/examples/example_smtp.js

这里是我做过什么:

  1. npm install nodemailer
  2. example_smtp.js重命名为app.js并编辑右侧电子邮件凭据字段
  3. 测试node app.js升ocally和它的作品/电子邮件发送
  4. vmc push并得到了以下错误

上传mytestmailer ...失败上传失败。再次尝试'vmc 推送'。 Errno :: ENOENT:没有这样的文件或目录 - C:/ Users/username/AppData/Local/Temp /。 vmc_hocmailer_files/node_modules/nodemailer/node_modules/simplesmtp/node_modules /xoauth2/node_modules /请求/ node_modules /格式数据/ node_modules /组合-STREA 米/ node_modules /延迟流/测试/集成/测试延迟HTTP- upload.js 欲了解更多信息,请参阅〜/ .vmc /崩溃

我搜索,发现这个线程要弄清楚什么是~/.vmc/crash

how to access ~/.vmc/crash folder on Cloud foundry

但我使用的Windows 所以我找不到那个崩溃文件。

有人可以帮我解决这个问题吗?似乎是一个简单的部署。

+0

该日志可能位于'%userprofile%/。vmc/crash'中。 – nneonneo 2013-02-17 01:05:54

+1

如果问题最终成为文件名长度限制,我不会感到惊讶;文件名长度为272个字节(大于256个字符)。 – nneonneo 2013-02-17 01:07:24

+0

@nneonneo谢谢你发现它。但除了同样的错误消息,没有什么用处。 '路径字符串/文件名'是272个字符。如何解决它? – 2013-02-17 01:18:35

回答

2

您需要确保创建了一个package.json文件,该文件指定了应用程序的依赖关系,在这种情况下,它应该看起来像这样;

{ 
    "name": "node-mailer-example", 
    "version": "0.0.1", 
    "dependencies": { 
    "nodemailer": "*" 
    } 
} 

除了this和app.js在文件夹中,使用npm安装应用程序的依赖关系;

npm install 

这应该创建一个新的'node_modules'文件夹,其中包含依赖关系。

此外,您需要更改app.js文件的第一行以便读取;

var nodemailer = require('nodemailer'); 

我这样做,它部署好了,我在应用程序日志中得到这条消息;

SMTP Configured 
Sending Mail 
Error occured 
Invalid login - 535-5.7.1 Please log in with your web browser and then try again. Learn more at 
535 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 hr1sm24898342qeb.3 - gsmtp 

顺便说一句,当你通过Gmail,每封邮件都有相同的内容质量上发送邮件,Gmail将最终需要你通过Web界面登录,然后才能继续。

+0

因此,在'node_modules \ nodemailer'文件夹中,已经有一个package.json来指定所有nodemailer的依赖关系。我必须将该文件的内容复制到我的app.js文件夹中?因为除了'nodemailer'之外确实没有其他的依赖关系(这只是一个简单的Hello World) – 2013-02-19 05:00:30

+0

我的意思是你的应用程序应该有一个package.json,指定它自己的依赖项(nodemailer)。我的答案中的package.json应该位于应用程序的根目录中。 – 2013-02-19 17:59:40

相关问题