Ruby Heroku将我的sinatra应用程序检测为node.js应用程序,并失败
这是我的sinatra应用程序的目录结构Ruby Heroku将我的sinatra应用程序检测为node.js应用程序,并失败,ruby,deployment,heroku,sinatra,Ruby,Deployment,Heroku,Sinatra,这是我的sinatra应用程序的目录结构 ➜ app-fin git:(master) ls public/ views/ birthday_countdown.rb config.ru Gemfile Gemfile.lock Procfile web.rb 我的档案是 source 'https://rubygems.org' gem 'sinatra' gem 'thin' 程序文件 web: bundle exec ruby web.rb -p $PORT 和co
➜ app-fin git:(master) ls
public/ views/ birthday_countdown.rb config.ru Gemfile Gemfile.lock Procfile web.rb
我的档案是
source 'https://rubygems.org'
gem 'sinatra'
gem 'thin'
程序文件
web: bundle exec ruby web.rb -p $PORT
和config.ru
$:.unshift File.expand_path("../", __FILE__)
require './web'
run Sinatra::Application
当我试图推到heroku时,我得到了这个错误
-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.6.20
Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
npm ERR! Couldn't read dependencies.
npm ERR! Error: Invalid name: "Sinatra Class" may not start with '.' or contain %/@+: or whitespace
npm ERR! at /tmp/node-npm-cVE5/lib/utils/read-json.js:229:13
npm ERR! at /tmp/node-npm-cVE5/lib/utils/read-json.js:134:32
npm ERR! at P (/tmp/node-npm-cVE5/lib/utils/read-json.js:110:40)
npm ERR! at cb (/tmp/node-npm-cVE5/node_modules/graceful-fs/graceful-fs.js:36:9)
npm ERR! at [object Object].<anonymous> (fs.js:123:5)
npm ERR! at [object Object].emit (events.js:64:17)
npm ERR! at Object.oncomplete (fs.js:1190:12)
npm ERR! Report this *entire* log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR!
npm ERR! System Linux 2.6.32-346-ec2
npm ERR! command "/tmp/node-node-yUVv/bin/node" "/tmp/node-npm-cVE5/cli.js" "install" "--production"
npm ERR! cwd /tmp/build_16s1spp2lcght
npm ERR! node -v v0.6.20
npm ERR! npm -v 1.0.106
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_16s1spp2lcght/npm-debug.log
npm not ok
! Failed to install --production dependencies with npm
! Heroku push rejected, failed to compile Node.js app
----->Heroku接收推送
----->检测到Node.js应用程序
----->解析引擎版本
使用Node.js版本:0.6.20
使用npm版本:1.0.106
----->获取Node.js二进制文件
----->将节点添加到slug中
----->使用npm安装依赖项
npm错误!无法读取依赖项。
npm错误!错误:无效名称:“Sinatra类”不能以“.”开头,也不能包含%/@+:或空格
npm错误!at/tmp/node-npm-cVE5/lib/utils/read json.js:229:13
npm错误!at/tmp/node-npm-cVE5/lib/utils/read json.js:134:32
npm错误!在P(/tmp/node-npm-cVE5/lib/utils/read json.js:110:40)
npm错误!在cb(/tmp/node-npm-cVE5/node_modules/generate fs/generate fs.js:36:9)
npm错误!在[对象]。(财政司司长:123:5)
npm错误!在[object].emit处(events.js:64:17)
npm错误!在Object.oncomplete(fs.js:1190:12)
npm错误!在以下位置报告此*整个*日志:
npm错误!
npm错误!或通过电子邮件发送至:
npm错误!
npm错误!
npm错误!Linux系统2.6.32-346-ec2
npm错误!命令“/tmp/node-node-yUVv/bin/node”“/tmp/node-npm-cVE5/cli.js”“安装”“--生产”
npm错误!cwd/tmp/BUILD16S1SPP2LCHT
npm错误!节点-v v0.6.20
npm错误!npm-V1.0.106
npm错误!
npm错误!其他日志记录详细信息可在以下位置找到:
npm错误/tmp/build_16s1spp2lcht/npm-debug.log
npm不好
! 无法安装--具有npm的生产依赖项
! Heroku推送被拒绝,未能编译Node.js应用程序
我很困惑,为什么它认为我的应用程序应该使用node.js,有没有人知道我如何说服heroku它实际上是一个sinatra应用程序。有没有可能在创建应用程序时指定了node.js buildpack
因为您有一个正确的GEM文件,所以应该首先由ruby构建包检测它。此外,由于您没有package.json文件,因此不应检测到Node.js。是否可能在创建应用程序时指定了Node.js buildpack 因为您有一个正确的GEM文件,所以应该首先由ruby构建包检测它。此外,由于没有package.json文件,因此不应检测Node.js