标签: gem

通过 sudo 传递 PATH

简而言之:如何让 sudo 每次都不刷新 PATH?

我在我的服务器上部署了一些网站(Debian 测试),这些网站是用 Ruby on Rails 编写的。我使用 Mongrel+Nginx 来托管它们,但是当我需要重新启动 Mongrel(例如,在进行一些更改之后)时会出现一个问题。

所有站点都在 VCS 中检查(git,但这并不重要)并且将所有者和组设置为我的用户,而 Mongrel 运行在权限受到严格限制的 mongrel 用户下。所以Mongrel必须在root下启动(它可以自动改变UID)或mongrel。

为了管理 mongrel,我使用 mongrel_cluster gem,因为它允许只用一个命令启动或停止任意数量的 Mongrel 服务器。但是它需要目录 /var/lib/gems/1.8/bin 位于 PATH 中:这不足以以绝对路径启动它

在 root .bashrc 中修改 PATH 没有任何改变,调整 sudo 的 env_reset 和 env_keep 也没有。

所以问题是:如何将目录添加到 PATH 或将用户的 PATH 保留在 sudo 中?

更新:一些例子

$ env | grep PATH
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/var/lib/gems/1.8/bin
$ sudo cat /etc/sudoers | egrep -v '^$|^#'
Defaults    env_keep = "PATH"
root    ALL=(ALL) ALL
%sudo ALL=NOPASSWD: ALL
$ sudo env …
Run Code Online (Sandbox Code Playgroud)

linux sudo path gem

15
推荐指数
1
解决办法
2万
查看次数

通过 apt-get 或 gem 安装软件包?

如果一个包可以通过 apt-get 和 gem 获得,我应该选择哪一个?

我在 Ubuntu 上,我不知道是否应该通过 apt-get 或 gem 安装 rake。

我经常使用 apt-get 和 gem 包。

各自的优缺点是什么?

ruby ruby-on-rails gem aptitude ubuntu

14
推荐指数
2
解决办法
2686
查看次数

如何在 Ubuntu 9.10 上安装 MySQL Ruby Gem?

我在为 MySQL 安装 Ruby Gem 时遇到问题。这是我正在运行的命令:

sudo gem install mysql
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes …
Run Code Online (Sandbox Code Playgroud)

mysql ruby rubygems gem

10
推荐指数
1
解决办法
2万
查看次数

gem 在 Cygwin 中不起作用

在新安装的 Windows 7 Professional 64 位上,我安装了 Cygwin (64) 及其一些软件包,包括 Ruby。我还使用 Ruby 安装程序安装了 Ruby,因为对于默认的 Windows shell 和 Cygwin,我可能都需要它。

现在,当我尝试执行gem类似gem listor的命令时gem install foo,出现了一个奇怪的错误,我在搜索互联网的最后几个小时内未能解决。

$ which ruby
/usr/bin/ruby

$ which gem
/usr/bin/gem

$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-cygwin]

$ gem -v
2.4.8

$ gem list
ERROR:  Loading command: list (Fiddle::DLError)
        can't load kernel32
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

$ gem install sass
ERROR:  Loading command: install (Fiddle::DLError)
        can't …
Run Code Online (Sandbox Code Playgroud)

windows-7 cygwin ruby gem

6
推荐指数
3
解决办法
2677
查看次数

如何在 Mac OS X 中使用 Sublime Text 作为 OS 编辑器?

如何将 Sublime Text 设置为 Mac OS X 中 git 提交的编辑器?

在我的 .zshrc 我有:

export EDITOR='subl -w'
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做:

bundle open devise
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Could not run 'subl -w /Users/edwardandrews-hodgson/.rvm/gems/ruby-1.9.2-p320@neighbours/gems/devise-2.1.3'
Run Code Online (Sandbox Code Playgroud)

我应该如何引用 Sublime?

ruby gem sublime-text-2 macos

5
推荐指数
1
解决办法
4559
查看次数

Cowsay 什么都不说

好吧,我知道在这里提出这个问题有点愚蠢……但为什么不呢。

我正在使用 OS X 10.9.2,Mavericks,并在我的终端中安装了 cowsay $ sudo gem install cowsay,它说一切都安装正确。

然而,当我跑的时候$ cowsay,小家伙们什么都不说!

这是问题的一些图片。 图1 图2 图3 图4

所以谁能告诉我...

如何配置cowsay以便我可以选择我想看到的小动物?”

如何让他们有话要说?

cowsay如果您可以指定启动命令的 OS X 终端部分不起作用,则使每个新终端启动的命令?是否有 github 存储库可以下载新短语和小动物?

你们可以提供给我的任何信息,这样我就可以在终端启动时更多地享受这些小动物,将不胜感激!

非常感谢 :)

terminal github gem macos

3
推荐指数
1
解决办法
5523
查看次数

Gem 安装失败,在 cygwin 上显示“编译器无法生成可执行文件”

尝试在 上安装多个 gem cygwin,我不断收到此错误:/usr/share/ruby/2.2.0/mkmf.rb:456:in try_do': The compiler failed to generate an executable file. (RuntimeError)

此错误是以下完整错误消息的一部分:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby.exe -r ./siteconf20150603-27012-w371hi.rb extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        [...truncated...]
        --without-pkg-config
/usr/share/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to …
Run Code Online (Sandbox Code Playgroud)

windows cygwin ruby gcc gem

3
推荐指数
1
解决办法
5427
查看次数