我是Node.js,Socket.IO和Nodejitsu的新手。我也在机器上运行Ubuntu。在Googling免费提升了对Node.js和Socket.IO的支持之后,我找到了Nodejitsu托管平台。他们说部署应用程序很容易,但我发现它有点复杂。这是我遵循的过程。
在Nodejitsu设置我的帐户后,我运行了:
sudo npm install jitsu -g
sudo jitsu install socket.io
我尝试使用以下方法部署应用程序:
jitsu deploy
但我在cmd行上收到两个警告:
warn: There is no package.json file in /home/ben
warn: Creating package.json at /home/ben/package.json
柔术提示为:
prompt: Application name: (ben)
prompt: Subdomain name: (cand-ben)
prompt: scripts.start:
首先,我不明白这两个警告的含义是什么?我应该在那里创建package.json文件吗?我还尝试在提示符后输入以下命令在脚本中启动脚本:scripts.start:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('hello, i know nodejitsu\n');
}).listen(8080);
但我收到此错误消息
prompt: scripts.start: var http = require('http');
error: Invalid input for scripts.start
error: Start script was not found in /home/ben
prompt: scripts.start: http.createServer(function (req, res) {
error: Invalid input for scripts.start
error: Start script was not found in /home/ben
prompt: scripts.start: res.writeHead(200, {'Content-Type': 'text/plain'});
error: Invalid input for scripts.start
error: Start script was not found in /home/ben
prompt: scripts.start: res.end('hello, i know nodejitsu\n');
error: Invalid input for scripts.start
error: Start script was not found in /home/ben
prompt: scripts.start: }).listen(8080);
您能否让我知道如何将脚本传递到命令提示符?我应该如何创建package.json?有没有清楚的教程来说明这些事情?
谢谢
错误从Peter站点添加package.json后。
warn: About to write /home/ben/package.json
data:
data: {
data: engines: { node: '0.8.x' },
data: name: 'ben',
data: scripts: { start: '' },
data: subdomain: 'candente-ben',
data: version: '0.0.0'
data: }
data:
prompt: Is this ok?: (yes)
info: Analyzing application dependencies in
WARN package.json [email protected] No repository field.
WARN package.json [email protected] No readme data.
info: Checking app availability ben
info: Checking app availability ben
info: Creating app ben
info: Creating app ben
error: Error creating ben
error: Nodejitsu Error (500): Internal Server Error
error: Error running command deploy
error: Nodejitsu Error (500): Internal Server Error
warn: Error returned from Nodejitsu
error: Error: App name / subdomain combination is not available
error: at module.exports (/root/nodejitsu/lib/nodejitsu/resources/app/controller/available.js:27:17)
error: at Resource._request (/root/nodejitsu/node_modules/resourceful/lib/resourceful/resource.js:184:13)
error: at Function.Resource.runAfterHooks (/root/nodejitsu/node_modules/resourceful/lib/resourceful/resource.js:93:12)
error: at Resource._request (/root/nodejitsu/node_modules/resourceful/lib/resourceful/resource.js:179:14)
error: at Couchdb.view (/root/nodejitsu/node_modules/resourceful/lib/resourceful/engines/couchdb/index.js:143:5)
error: at Request._onResponse [as _callback] (/root/nodejitsu/node_modules/resourceful/node_modules/cradle/lib/cradle.js:233:9)
error: at Request.init.self.callback (/root/nodejitsu/node_modules/request/main.js:120:22)
error: at Request.EventEmitter.emit (events.js:99:17)
error: at Request.<anonymous> (/root/nodejitsu/node_modules/request/main.js:555:16)
error: at Request.EventEmitter.emit (events.js:96:17)
help: For help with this error contact Nodejitsu Support:
help: webchat: <http://webchat.nodejitsu.com/>
help: irc: <irc://chat.freenode.net/#nodejitsu>
help: email: <[email protected]>
help:
help: Copy and paste this output to a gist (http://gist.github.com/)
info: Nodejitsu not ok
最佳答案
首先,我不明白这两个警告的含义是什么?我应该在那里创建package.json文件吗?
是。必须使用package.json文件才能部署nodejitsu。它描述了您的应用程序运行所需的环境。
我还尝试在提示符后输入以下命令在脚本中启动脚本:scripts.start:scripts.start
不能是javascript代码,它必须是一个简单的shell命令。获取该javascript代码并将其保存在名为server.js
的文件中,然后将您的scripts.start
命令设置为node server.js
。
这是Nodejitsu的package.json file交互式指南。当然,official npm docs on package.json是必读的。如果要引用here is an open-source app I wrote,它会部署在nodejitsu上。基本的scripts.start属性将需要遵循以下原则:
"scripts": {"start": "node server.js"}
更新资料
因此,您可能在这里一次尝试了太多事情,而没有在基础上花费足够的时间来避免麻烦。不要跳过任何这些步骤。您将在该过程中学习和理解,并且能够自己理解将来的错误。
首先,使用
node server.js
之类的手动命令使您的应用在本地运行。第二,命令
npm start
通过正确设置package.json
在本地工作。第三,然后致力于使其在nodejitsu上运行。
关于node.js - 关于将Node.js和Socket.IO应用程序部署到Nodejitsu的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16820044/