- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 Debian Squeeze 作为我的操作系统,并且正在尝试开发一个 Ruby on Rails 项目。为此,我首先安装了一些 ruby 包。
我的ruby版本是:ruby1.8、ruby1.9.1
然后我卸载了 ruby1.8,使 ruby1.9.1 成为我的默认 ruby。
现在如果我运行:
$ which ruby
它什么都不显示。
如果我运行:
$ which ruby1.9.1
/usr/bin/ruby1.9.1
但是:
$ rails new testApp
bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory
我不知道该怎么办。请指导我。
最佳答案
对于 Debian squeeze (6.0):
首先确保卸载所有 ruby 和 ruby1.8 包。否则它们会干扰即将为 ruby 1.9 设置的二进制文件/链接。
然后安装 ruby 1.9 包。尽管这些软件包被命名为“1.9.1”,但它们实际上在 Debian squeeze 上安装了 ruby 版本 1.9.2。虚拟包 ruby1.9.1-full
将安装 ruby 所需的所有包:
sudo aptitude install ruby1.9.1-full
在 ri1.9.1 包中添加 ri 和联机帮助页的替代链接。 (这两行都是一个命令。)
sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri1.9.1 10 \
--slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri1.9.1.1.gz
在 ruby1.9.1 包中添加 ruby、相关二进制文件和联机帮助页的替代链接。 (这些行都是一个命令。)
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 10 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby1.9.1.1.gz \
--slave /usr/bin/erb erb /usr/bin/erb1.9.1 \
--slave /usr/bin/gem gem /usr/bin/gem1.9.1 \
--slave /usr/bin/irb irb /usr/bin/irb1.9.1 \
--slave /usr/bin/rake rake /usr/bin/rake1.9.1 \
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1 \
--slave /usr/bin/testrb testrb /usr/bin/testrb1.9.1 \
--slave /usr/share/man/man1/erb.1.gz erb.1.gz /usr/share/man/man1/erb1.9.1.1.gz \
--slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem1.9.1.1.gz \
--slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb1.9.1.1.gz \
--slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake1.9.1.1.gz \
--slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc1.9.1.1.gz \
--slave /usr/share/man/man1/testrb.1.gz testrb.1.gz /usr/share/man/man1/testrb1.9.1.1.gz
请注意,这些都是以 10 的低替代优先级安装的(最后一部分在 --install
标志之后但在 --slave
标志之前)。这样做是希望 Debian 的 future 版本将 ruby 1.8 和 ruby 1.9 作为替代系统的一部分并覆盖这些链接。
在替代系统中检查 ri:
update-alternatives --display ri
结果:
ri - auto mode
link currently points to /usr/bin/ri1.9.1
/usr/bin/ri1.9.1 - priority 10
slave ri.1.gz: /usr/share/man/man1/ri1.9.1.1.gz
Current 'best' version is '/usr/bin/ri1.9.1'.
在替代系统中检查 ruby :
update-alternatives --display ruby
结果:
ruby - auto mode
link currently points to /usr/bin/ruby1.9.1
/usr/bin/ruby1.9.1 - priority 10
slave erb: /usr/bin/erb1.9.1
slave erb.1.gz: /usr/share/man/man1/erb1.9.1.1.gz
slave gem: /usr/bin/gem1.9.1
slave gem.1.gz: /usr/share/man/man1/gem1.9.1.1.gz
slave irb: /usr/bin/irb1.9.1
slave irb.1.gz: /usr/share/man/man1/irb1.9.1.1.gz
slave rake: /usr/bin/rake1.9.1
slave rake.1.gz: /usr/share/man/man1/rake1.9.1.1.gz
slave rdoc: /usr/bin/rdoc1.9.1
slave rdoc.1.gz: /usr/share/man/man1/rdoc1.9.1.1.gz
slave ruby.1.gz: /usr/share/man/man1/ruby1.9.1.1.gz
slave testrb: /usr/bin/testrb1.9.1
slave testrb.1.gz: /usr/share/man/man1/testrb1.9.1.1.gz
Current 'best' version is '/usr/bin/ruby1.9.1'.
关于ruby - 如何在 debian squeeze 上将 ruby1.9.1 设置为默认版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6965277/
我是一名优秀的程序员,十分优秀!