2013-02-17 131 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

相關問題