Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
Ruby on rails Heroku与rails 4应用程序无法通过Bundler安装gems_Ruby On Rails_Heroku_Deployment_Jruby_Bundler - Fatal编程技术网

Ruby on rails Heroku与rails 4应用程序无法通过Bundler安装gems

Ruby on rails Heroku与rails 4应用程序无法通过Bundler安装gems,ruby-on-rails,heroku,deployment,jruby,bundler,Ruby On Rails,Heroku,Deployment,Jruby,Bundler,我已经看到了很多类似的问题,但是我尝试过捆绑更新并提交更新的Gemfile.lock,但没有成功。以下是我尝试推送到heroku git回购时的输出: -----> Ruby app detected -----> Compiling Ruby/Rails -----> Using Ruby version: ruby-1.9.3-jruby-1.7.4 -----> Installing JVM: openjdk7-latest -----> Installing

我已经看到了很多类似的问题,但是我尝试过捆绑更新并提交更新的Gemfile.lock,但没有成功。以下是我尝试推送到heroku git回购时的输出:

-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-1.9.3-jruby-1.7.4
-----> Installing JVM: openjdk7-latest
-----> Installing dependencies using Bundler version 1.3.2
       Ruby version change detected. Clearing bundler cache.
       Old: jruby 1.7.4 (1.9.3p392) 2013-07-24 fffffff on OpenJDK 64-Bit Server VM 1.7.0_25-b30 [linux-amd64]
       New: jruby 1.7.4 (1.9.3p392) 2013-07-24 fffffff on OpenJDK 64-Bit Server VM 1.7.0_45-b31 [linux-amd64]
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
       Picked up JAVA_TOOL_OPTIONS: -Djava.rmi.server.useCodebaseOnly=true
       You are trying to install in deployment mode after changing
       your Gemfile. Run `bundle install` elsewhere and add the
       updated Gemfile.lock to version control.
       You have added to the Gemfile:
       * source: git://github.com/gregbell/active_admin.git (at master)
       You have deleted from the Gemfile:
       * source: https://github.com/gregbell/active_admin.git (at master)
       You have changed in the Gemfile:
       * activeadmin from `git://github.com/gregbell/active_admin.git (at master)` to
       `no specified source`
       Bundler Output: Picked up JAVA_TOOL_OPTIONS: -Djava.rmi.server.useCodebaseOnly=true
       You are trying to install in deployment mode after changing
       your Gemfile. Run `bundle install` elsewhere and add the
       updated Gemfile.lock to version control.

       You have added to the Gemfile:
       * source: git://github.com/gregbell/active_admin.git (at master)

       You have deleted from the Gemfile:
       * source: https://github.com/gregbell/active_admin.git (at master)

       You have changed in the Gemfile:
       * activeadmin from `git://github.com/gregbell/active_admin.git (at master)` to
       `no specified source`
 !
 !     Failed to install gems via Bundler.
 !

 !     Push rejected, failed to compile Ruby app
有人知道为什么这可能会失败吗?显示active_admin更改的行很久以前就没有更新过,从那时起就一直推送到heroku

另外,关于
您在更改Gemfile后尝试在部署模式下安装
我已运行bundle install并添加了my Gemfile.lock并多次推送。在我的项目中运行git状态的视图:

# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
# .ruby-version
# app/assets/stylesheets/_base.scss
# app/assets/stylesheets/_colors.scss
# app/assets/stylesheets/_footer.scss
# app/assets/stylesheets/_forms.scss
# app/assets/stylesheets/_header.scss
# app/assets/stylesheets/_icons.scss
# app/assets/stylesheets/_k.scss
# app/assets/stylesheets/_k_mixins.scss
# app/assets/stylesheets/_k_ratings.scss
# app/assets/stylesheets/_project_windows.scss
# app/assets/stylesheets/_reset.scss
# app/assets/stylesheets/application.scss
# app/assets/stylesheets/ie_fixes.scss
# app/assets/stylesheets/mixins.scss
nothing added to commit but untracked files present (use "git add" to track)

如果您在本地计算机上运行
bundle
时使用的是Bundler 1.4的预发布版本,那么您将遇到一个问题,github gems的URL从使用
git
协议更改为
https


要解决此问题,您应该在本地更新到Bundler 1.4的最新预发行版(通过运行
gem install--pre Bundler
),或者删除Bundler 1.4预发行版并使用1.3.x.

此问题是因为您向heroku服务器提交了错误(旧)的Gemfile.lock。 添加/删除gems后,您需要更新heroku上的Gemfile.lock

执行以下步骤:

  • 保存HEROKU_APP_现有HEROKU APP的名称(HEROKU_APP_NAME.herokuapp.com)
  • 从中删除heroku应用程序并创建新应用程序
  • 将新heroku应用程序重命名为旧heroku_应用程序_名称
  • 从git repo中删除Gemfile.lock
  • 从本地项目和表单中删除Gemfile.lock.gitignore(如果存在)
  • 运行包安装
  • 提交对git repo的更改(新创建的Gemfile.lock)
  • 运行git push heroku master

  • 我还尝试创建一个新的heroku应用程序进行部署,但仍然失败,出现了相同的错误。啊,好消息,我在bundler 1.3.x中遇到的问题是,在尝试捆绑安装时遇到了堆栈级别太深的错误
    # See http://help.github.com/ignore-files/ for more about ignoring files.
    #
    # If you find yourself ignoring temporary files generated by your text editor
    # or operating system, you probably want to add a global ignore instead:
    #   git config --global core.excludesfile '~/.gitignore_global'
    
    # Ignore bundler config.
    /.bundle
    
    # Ignore the default SQLite database.
    /db/*.sqlite3
    /db/*.sqlite3-journal
    
    # Ignore all logfiles and tempfiles.
    /log/*.log
    /tmp
    
    # Ignore database config file
    database.yml
    
    *.iml
    .rvmrc
    .idea