工头开始抛出.profile在ubuntu 10.04中找不到错误

时间:2012-12-30 12:03:12

标签: ubuntu foreman .profile

我正在尝试将工头用于heroku。这就是我的设置中存在的内容:

  1. 使用Ubuntu 10.04计算机安装工头
  2. 安装的Ruby版本是:1.9.3-p362
  3. 安装的Rubygems版本是:1.8.24
  4. 我可以触发一个可以正常工作的示例test.rb文件。代码如下:

    root@ubuntu-test:~# cat test.rb
    
    #/usr/local/rvm/rubies/ruby-1.9.3-p362/bin/ruby
    require 'rubygems'
    puts "Hello world!"
    
  5. 使用代码:

    创建了一个Gemfile
    source :rubygems
    gem 'sinatra', '1.1.0'
    gem 'thin'
    
  6. 使用代码创建了一个Procfile:     web:bundle exec ruby​​ test.rb -p $ PORT

  7. 发布的领班开始 - 失败如下:

    06:37:09 web.1  | started with pid 3638
    06:37:09 web.1  | .: 39: .profile: not found
    06:37:09 web.1  | exited with code 2
    06:37:09 system | sending SIGTERM to all processes
    SIGTERM received
    
  8. 此外,我安装了特定版本的工头(0.60.2),在启动时显示与上述相同的错误。

    .profile文件位于我的机器的以下位置:

        /home/user/.profile
        /etc/skel/.profile
        /root/.profile
    

    包含:     #〜/ .profile:由Bourne兼容的登录shell执行。

    if [ "$BASH" ]; then
      if [ -f ~/.bashrc ]; then
        . ~/.bashrc
      fi
    fi
    
    mesg n
    

    这可能是因为错误的路径设置?什么阻止了工头的开始?

    • 拉梅什

1 个答案:

答案 0 :(得分:1)

我收到了类似的错误,但稍微详细一点:

21:16:46 bridge.1 | /var/lib/gems/1.9.1/gems/foreman-0.61.0/bin/foreman-runner: 37: .: .profile: not found

所以我看了一下foreman-runner,看起来它正在尝试从当前目录加载一个.profile文件。虽然我从一个目录中运行工头,但我仍然没有找到它。

看起来foreman-runner是用-p参数调用的。然后它测试.profile文件的存在,然后才尝试获取它。因此它会检查文件但无法获取文件。实际执行源的行如下:

. .profile

此文件启动#!/ bin / sh所以我运行/ bin / sh并尝试了。 .profile来自命令行,果然它抱怨找不到.profile,是吗?!实际上它说的是:

/bin/sh: 4: .: .profile: not found

那里的4是什么?也许它只是不喜欢我的.profile中的某些东西。

所以我把我的.profile移到了profile.bak和中提琴,工头现在跑了。