0

我创建了一个包含冒号的 rvm gemset 名称,比如说project:marklar,然后我gem install rails在该 gemset 中进行操作。一切顺利,直到它到达 json gem 并抛出此错误:

Fetching: json-1.7.5.gem (100%)
Building native extensions.  This could take a while...
/Users/hendrauzia/.rvm/rubies/ruby-1.9.3p0/lib/ruby/site_ruby/1.9.1/rubygems/ext/builder.rb:48: warning: Insecure world writable dir /usr/local/mysql/bin in PATH, mode 040777
ERROR:  Error installing rails:
  ERROR: Failed to build gem native extension.

  /Users/hendrauzia/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
creating Makefile

make
Makefile:158: *** target pattern contains no `%'.  Stop.

我以为是 ruby​​ 版本导致了问题,但是当我更改为 时1.9.2,它仍然抛出相同的错误。

我使用了 mac osx 10.8 山狮,令人惊讶的是,当我删除 gemset 名称中的冒号时,假设我们将其更改为marklar,一切顺利。有人注意到这种行为吗?这种行为是预期的还是 rvm 或 json gem 中的错误,还是其他?

4

1 回答 1

0

我已经比较了在1.9.3和中定义的 Makefile 1.9.3@some:colon- 除了路径之外没有区别:

127,128c127,128
< RUBYLIBDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5/lib$(target_prefix)
< RUBYARCHDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5/lib$(target_prefix)
---
> RUBYLIBDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194@some:colon/gems/json-1.7.5/lib$(target_prefix)
> RUBYARCHDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194@some:colon/gems/json-1.7.5/lib$(target_prefix)

进一步检查后,我发现文件名中不允许使用空格和冒号:在 Makefile 中的文件名中转义冒号=> http://www.mail-archive.com/bug-make@gnu.org/msg03318.html

于 2012-08-29T15:17:51.943 回答