Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails服务器命令不工作,在另一个ruby版本上没有gems_Ruby On Rails_Ruby_Ruby On Rails 3_Pik - Fatal编程技术网

Ruby on rails rails服务器命令不工作,在另一个ruby版本上没有gems

Ruby on rails rails服务器命令不工作,在另一个ruby版本上没有gems,ruby-on-rails,ruby,ruby-on-rails-3,pik,Ruby On Rails,Ruby,Ruby On Rails 3,Pik,我在Windows7机器上运行rails,并使用pik作为我的RVM 我目前安装了ruby 1.9.3,但我有一个项目需要ruby 1.9.2 因此,使用pik,我从gitbash运行以下命令: pik192 ruby-v ruby 1.9.2p180(2011-02-18)[i386-mingw32] rails服务器 sh.exe“:未找到rails:命令 然而,当我使用pik 193时,我肯定可以看到服务器正在运行。在pik 192下运行gem list也不会显示任何本地gem,而pik

我在Windows7机器上运行rails,并使用pik作为我的RVM

我目前安装了ruby 1.9.3,但我有一个项目需要ruby 1.9.2

因此,使用pik,我从
gitbash
运行以下命令:

  • pik192
  • ruby-v
  • ruby 1.9.2p180(2011-02-18)[i386-mingw32]

  • rails服务器
  • sh.exe“:未找到rails:命令

    然而,当我使用pik 193时,我肯定可以看到服务器正在运行。在pik 192下运行gem list也不会显示任何本地gem,而pik 193会显示很多


    我如何在这两个版本之间“共享”gems,或者是否有更好的选项风险更低?

    要跨安装共享gems,您需要在两个安装的公共位置安装gems

    默认情况下,RubyonWindows将在Ruby目录中安装gems

    您可以通过执行以下操作来验证这一点:

    gem env gemdir
    
    要在两个口译员的公共位置安装,需要将
    GEM_HOME
    环境变量设置为特定目录,如
    C:\gems

    SET GEM_HOME=C:\gems
    gem env gemdir
    
    您还需要将
    bin
    目录添加到
    路径

    SET PATH=C:\gems\bin;%PATH%
    
    这将允许gems可执行文件可用

    但是,请注意,虽然Ruby 1.9.2和1.9.3声明它们是兼容的,但对于某些GEM中的已编译C扩展,情况可能并非如此

    Ruby 1.9.3引入了某些API级别的函数,这些函数在1.9.2中不可用,在Ruby 1.9.2中加载1.9.3编译的gem时可能会导致问题

    在某些情况下,这些差异可能导致分段错误和奇怪的应用程序崩溃

    不建议使用,因此使用风险自负


    希望对您有所帮助。

    要跨安装共享gems,您需要在两个安装的公共位置安装gems

    默认情况下,RubyonWindows将在Ruby目录中安装gems

    您可以通过执行以下操作来验证这一点:

    gem env gemdir
    
    要在两个口译员的公共位置安装,需要将
    GEM_HOME
    环境变量设置为特定目录,如
    C:\gems

    SET GEM_HOME=C:\gems
    gem env gemdir
    
    您还需要将
    bin
    目录添加到
    路径

    SET PATH=C:\gems\bin;%PATH%
    
    这将允许gems可执行文件可用

    但是,请注意,虽然Ruby 1.9.2和1.9.3声明它们是兼容的,但对于某些GEM中的已编译C扩展,情况可能并非如此

    Ruby 1.9.3引入了某些API级别的函数,这些函数在1.9.2中不可用,在Ruby 1.9.2中加载1.9.3编译的gem时可能会导致问题

    在某些情况下,这些差异可能导致分段错误和奇怪的应用程序崩溃

    不建议使用,因此使用风险自负


    希望有帮助。

    是否可以只为1.9.2安装gems?我尝试切换到1.9.2,运行gem install rack。它成功完成,但当我执行gem list时,我没有得到任何结果
    gem env
    的输出以及安装gem的位置?您是否检查了
    gem env gemdir
    gem env path
    告诉您?是否可以只为1.9.2安装gems?我尝试切换到1.9.2,运行gem install rack。它成功完成,但当我执行gem list时,我什么也没有得到
    gem env
    的输出以及安装gem的位置?您是否检查了
    gem env gemdir
    gem env path
    电话你呢?