Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Travis ci构建和部署node.js项目-未找到Rakefile_Node.js_Heroku_Travis Ci_Heroku Toolbelt - Fatal编程技术网

无法使用Travis ci构建和部署node.js项目-未找到Rakefile

无法使用Travis ci构建和部署node.js项目-未找到Rakefile,node.js,heroku,travis-ci,heroku-toolbelt,Node.js,Heroku,Travis Ci,Heroku Toolbelt,我正试图在travis ci中构建一个node.js项目。这是我的.travis.yml文件: language: node_js node_js: - 0.8 after_script: # Install the Heroku package (or the Heroku toolbelt) - npm install heroku # Add your Heroku git repo: - git remote add heroku git@heroku.com:**

我正试图在travis ci中构建一个
node.js
项目。这是我的
.travis.yml
文件:

language: node_js
node_js:
  - 0.8

after_script:
  # Install the Heroku package (or the Heroku toolbelt)
  - npm install heroku
  # Add your Heroku git repo:
  - git remote add heroku git@heroku.com:*****.git
  # Add your Heroku API key:
  - export HEROKU_API_KEY=KEYHERE
  # Turn off warnings about SSH keys:
  - echo "Host heroku.com" >> ~/.ssh/config
  - echo "   StrictHostKeyChecking no" >> ~/.ssh/config
  - echo "   CheckHostIP no" >> ~/.ssh/config
  - echo "   UserKnownHostsFile=/dev/null" >> ~/.ssh/config
  # Clear your current Heroku SSH keys:
  - heroku keys:clear
  # Add a new SSH key to Heroku
  - yes | heroku keys:add
  # Push to Heroku!
  - yes | git push heroku master
我一开始就遇到了以下生成错误:

未找到Rakefile(查找:Rakefile、Rakefile、Rakefile.rb、, Rakefile.rb)

可能是因为我的yml文件有问题,它试图使用默认的ruby builder

我不认为该文件是无效的yml文件,因为我已经在上用yml验证器进行了检查

我的特拉维斯有什么问题吗

我的
package.json
如下所示:

{
  "name": "csnc",
  "description": "csnc",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": "3.x",
    "ejs": ">=0.0.0",
    "express-partials": ">=0.0.0"
  },
  "engines": {
    "node": "0.8.x",
    "npm": "1.1.x"
  }
}
编辑:


如果您正在寻找一种使用Travis CI将node.js应用程序自动部署到Heroku的方法,请查找我为正在工作的
.Travis.yml
文件提供的答案。Travis.yml文件未验证;您可以在上验证它

发现节点_js键存在问题:

检测到不支持的Node.js版本。有关受支持的Node.js版本的最新列表,请参阅


尝试使用
0.8.x

出于某种奇怪的原因,我注意到文件开头有一个以前没有的空格(我发誓:)。这一定是导致错误的原因

奇怪的是,当我将节点版本从
0.8
更改为
0.6
时,验证程序没有注意到错误。可能是验证器中的错误

无论如何,我也成功地将我的节点应用程序部署到Heroku。我还没有在网上找到任何关于这个过程的文档(特别是node),所以我附上了为我工作的
.travis.yml
文件。请注意,我不必为我的应用程序添加任何测试,没有它,它运行良好:

language: node_js
node_js:
  - 0.8

after_script:
  # Install the Heroku package (or the Heroku toolbelt)
  - npm install heroku
  # Add your Heroku git repo:
  - git remote add heroku git@heroku.com:HEROKU_REPO_HERE.git
  # Add your Heroku API key:
  - export HEROKU_API_KEY=ENTER_KEY_HERE
  # Turn off warnings about SSH keys:
  - echo "Host heroku.com" >> ~/.ssh/config
  - echo "   StrictHostKeyChecking no" >> ~/.ssh/config
  - echo "   CheckHostIP no" >> ~/.ssh/config
  - echo "   UserKnownHostsFile=/dev/null" >> ~/.ssh/config
  # Download and install Heroku toolbelt locally
  - wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
  # Clear your current Heroku SSH keys:
  - heroku keys:clear
  # Add a new SSH key to Heroku
  - yes | heroku keys:add
  # Push to Heroku!
  - yes | git push heroku master
编辑:

我最近从Travis.ci转到了Drone.io。如果您正在寻找从Github到Heroku的自动部署,您应该检查一下,它工作得很好,并且更容易设置IMO


您正在使用NPM吗?如果是这样,你的package.json看起来如何?@Odi将该文件添加到问题中如果我没有错,travis将调用
npm test
,如果你将node_js定义为语言,但你没有在package.json
“scripts”:{“test”:“/my_test_script.js”
。或者你希望被称为什么?@Odi我已经创建了一个测试,并将它添加到
包中。json
仍然没有帮助。Travis仍在使用RubyWorker:ruby2.worker.Travis ci.org:ruby-4。travis-ci也发现了这个问题:但是已经修复了,所以不知道如何调试。这只是travis lint的修复,实际上这不是travis的问题,只是使用了linting工具。travis上有一些节点为0.8的项目可以运行。谢谢你的工具,非常有用。更改为
0.8.x
后,我仍然会遇到node_js key的问题,构建结果是相同的。但是,将版本更改为
0.6
解决了这个问题。Travis在文档中说支持0.8,因此我不理解将此标记为答案,因为这使我最接近于找到我的文件的问题哦,很高兴你找到了答案。因为heroku的事,我以前。您可以通过@Odi改进您的脚本。好的一点,我正在努力安装ruby和travis gem以使其正常工作。有更简单的方法吗?我不知道<代码>gem安装travis很简单。如果你有问题,你应该发布另一个问题。我有这个问题,这应该不再是一个问题,因为它已在最新版本的宝石修复。