【问题标题】:/etc/environment not being read/etc/environment 未被读取
【发布时间】:2013-10-06 21:59:11
【问题描述】:

我正在运行 Ubuntu 12.04 64 位。

cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
RAILS_ENV=production

还是

echo $RAILS_ENV
<blank>

我有另一个可以正常工作的 VPS。我能想到的唯一区别是在非工作服务器上禁用了 root 登录和密码登录。退出 ssh 会话并重新启动服务器并不能解决问题。

【问题讨论】:

    标签: ruby-on-rails ubuntu environment-variables


    【解决方案1】:

    sudo su -l root $PATH 返回什么?

    很可能你需要像这样分配变量

    X="Something"
    Y="Another Thing $x"
    

    请注意,这里的 Y 仅等于“Another Thing $X”,而不是您可能期望的“Another Thing Something”。即这个文件只是分配而不是脚本文件。见https://help.ubuntu.com/community/EnvironmentVariables

    【讨论】:

    • -su: /home/deployer/.rvm/gems/ruby-1.9.3-p392@arcsite_mysql/bin:/home/deployer/.rvm/gems/ruby-1.9.3-p392@global/bin:/home/deployer/.rvm/rubies/ruby-1.9.3-p392/bin:/home/deployer/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games: No such file or directory。不知道为什么我得到没有这样的文件错误
    • 尝试用引号括起来这样 RAILS_ENV = "production"
    • 引号似乎没有改变任何东西。我在某处读到 /etc/environment 被读取为 PAM 过程的一部分。我在 sshd.conf 文件中将 UsePAM 设置为 no,所以这可能是个问题?
    • 另外,您需要注销并重新登录才能使更改生效。即没有办法“获取”这个文件
    • 请注意,注销/登录并没有解决它。我似乎找不到太多关于 etc/environment 实际作用的文档,因此无法确定 PAM 的事情
    【解决方案2】:

    这里有类似的问题。

    使用 Figaro gem 修复它。

    http://railsapps.github.io/rails-environment-variables.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-05
      • 2018-04-15
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      相关资源
      最近更新 更多