我做rails开发.在这个应用程序中,我需要指定环境变量LD_LIBRARY_PATH = /usr/local / oracle / lib,但是当我使用sudo脚本/服务器运行应用程序时,它不会运行,因为该库路径不在root的env中.
我该怎么做才能让它发挥作用?我试图将路径放在root ./bashrc下,但它没有用.
解决方法
我有类似的问题.我查看了我的/ etc / sudoers文件,我看到了这些行:
Defaults env_reset Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \ LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \ _XKB_CHARSET XAUTHORITY"
为了让我的环境变量在那里,我必须在“XAUTHORITY”之后添加它的名字.在你的情况下你会有:
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \ LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \ _XKB_CHARSET XAUTHORITY LD_LIBRARY_PATH"
试一试.
还要确保在/ etc / environment中设置BASH_ENV =“〜/ .bashrc”.