难以安装和运行rails(/ usr / local / bin / rails:没有这样的文件或目录),曾经恢复到早期的rails版本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了难以安装和运行rails(/ usr / local / bin / rails:没有这样的文件或目录),曾经恢复到早期的rails版本相关的知识,希望对你有一定的参考价值。
在我将rails换回早期版本的项目之后执行rails new blah时出错
导轨工作正常,我可以做rails new blah
我想测试一个项目的更改rails版本。到目前为止,我的经验是改变项目的rails版本不会改变全球的rails!所以我的经验是,当CDing出一个目录并做rails -v
时我仍然在5.2.2.1
所以我做了一个项目,目的是回到导轨0.8.0(就像测试一样!)
~/rubymac/test16$ cat Gemfile | grep "^gem 'rails'"
gem 'rails', '0.8.0'
~/rubymac/test16$
我做了bundle update rails
并且没有错误,我在Gemfile.lock中看到rails 0.8.0似乎在那里被指定所以我猜这有用了。
然后我做了cd ..
并且做了rails -v
期待(仍然)看到rails 5.2.2.1这是我过去的经验,当我把一个项目放回稍早版本的rails。但是rails -v
没有用。并且rails new blah123
也没有工作。
~/rubymac$ rails -v
(in /usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0)
rake aborted!
LoadError: cannot load such file -- rake/rdoctask
/usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0/Rakefile:3:in `<top (required)>'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)
~/rubymac$
和
~/rubymac$ rails new blah2432
(in /usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0)
rake aborted!
LoadError: cannot load such file -- rake/rdoctask
/usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0/Rakefile:3:in `<top (required)>'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)
~/rubymac$
所以我搜索并发现了这个问题new rails project error Rails 3。这表明gem install rails -v3.0.9
所以我做了gem install rails -v5.2.2.1
它没有错误
~/rubymac$ gem install rails -v5.2.2.1
Successfully installed rails-5.2.2.1
Parsing documentation for rails-5.2.2.1
Done installing documentation for rails after 0 seconds
1 gem installed
~/rubymac$
但是rails -v仍然不起作用
~/rubymac$ rails -v
(in /usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0)
rake aborted!
LoadError: cannot load such file -- rake/rdoctask
/usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0/Rakefile:3:in `<top (required)>'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)
~/rubymac$
我做宝石列表,看看我有哪些rails版本
~/rubymac$ gem list | grep "^rails ("
rails (5.2.2.1, 5.2.2, 5.2.1.1, 5.2.1, 5.2.0, 5.1.6, 5.1.4, 5.0.7.2, 5.0.7.1, 5.0.1, 5.0.0, 0.8.0)
~/rubymac$
我尝试卸载rails 0.8.0。它还促使我删除可执行文件,我说是的
~/rubymac$ gem uninstall rails -v0.8.0
Remove executables:
rails
in addition to the gem? [Yn] y
Removing rails
Successfully uninstalled rails-0.8.0
~/rubymac$ gem list | grep "^rails ("
rails (5.2.2.1, 5.2.2, 5.2.1.1, 5.2.1, 5.2.0, 5.1.6, 5.1.4, 5.0.7.2, 5.0.7.1, 5.0.1, 5.0.0)
~/rubymac$ rails -v
-bash: /usr/local/bin/rails: No such file or directory
~/rubymac$ gem install rails -v5.2.2.1
Successfully installed rails-5.2.2.1
Parsing documentation for rails-5.2.2.1
Done installing documentation for rails after 0 seconds
1 gem installed
但也许我已经走了太远,说是先删除可执行文件,因为现在我得到'..rails:没有这样的文件或目录'
~/rubymac$ rails -v
-bash: /usr/local/bin/rails: No such file or directory
~/rubymac$
甚至在尝试安装5.2.2.1之后
~/rubymac$ gem install rails -v5.2.2.1
Successfully installed rails-5.2.2.1
Parsing documentation for rails-5.2.2.1
Done installing documentation for rails after 0 seconds
1 gem installed
~/rubymac$ rails -v
-bash: /usr/local/bin/rails: No such file or directory
~/rubymac$
添加
然后我尝试了gem uninstall rails,我卸载了所有版本。然后我做了sudo gem install rails。我开了一个新的终端窗口。 rails -v
当我做which rails
它说/usr/bin/rails
这是一个改进。
但是当我做轨道时 - 它说
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
~$
~$ gem list | grep rails
coffee-rails (4.2.2, 4.2.1)
jquery-rails (4.3.1, 4.1.1)
rails (5.2.2.1)
rails-controller-testing (0.1.1)
rails-dom-testing (2.0.3, 2.0.2)
rails-html-sanitizer (1.0.4, 1.0.3)
sass-rails (5.0.7, 5.0.6)
sprockets-rails (3.2.1, 3.2.0)
实际上grep rail *更好'cos包括Uninstall Rails completely提到的铁路
另外,我没有使用任何版本控制管理器,没有rvm或rbenv
首先,尝试关闭终端并重新启动。有时,安装后PATH不会使用rails可执行文件进行更新。
如果失败了......
在您的终端运行中:
$ gem env
这应该告诉你宝石的安装位置。毕竟,Rails只是一颗宝石。我使用.rbenv作为Rails环境管理器。这意味着我的EXECUTABLE DIRECTORY位于:/Users/me/.rbenv/versions/2.5.1/bin
我可以在该文件夹中执行:
$ ls | grep rails
我得到:
drwxr-xr-x 3 me group 96 Mar 14 10:59 rails
是的,Rails已安装并且确实存在。如果你能找到这个,那就意味着你安装了Rails,但你的PATH找不到它。 PATH是一个环境变量,通常包含包含可执行文件的已知目录列表。当我输入rails -v
时,会检查PATH。让我们确保我的PATH正常工作:
/Users/me/.rbenv/shims
好。不要担心垫片,你需要知道的是该文件夹包含我的rails可执行文件。你的应该是可执行目录的路径。现在将您的可执行目录添加到您的PATH:
export PATH=PATH:/full/path/to/EXECUTABLE_DIRECTORY
那应该是它。尝试再次运行rails。如果失败,请尝试手动运行rails可执行文件。如果失败,您的可执行文件将被破坏,或者您没有查看正确的文件(更有可能)。
如果你找不到可执行文件rails
,那么rails
DNE不知怎的,你需要尝试重新安装。
好的,解决方案是完全卸载rails,然后重新安装rails。但我遇到的问题是它没有完全卸载rails。
为了完全卸载rails,这里提到了Uninstall Rails completely
你不仅需要卸载rails,还需要卸载一个名为railties的宝石!
所以,当你列出rails gem时,不要做| grep rails,do | grep rail(奇异!)。即做gem list | grep rail
,然后你得到铁路相关的宝石列表,包括铁路。
我删除/卸载了所有这些宝石。 (虽然可能我只需要卸载铁路和铁路)。
那么我就处于一个位置,其中rails文件(在osx中是/ usr / bin / rails)已经消失了,那些宝石已经消失了,这很好。
(我不想要的是一个)rails文件在那里的位置而rails导致错误或b)rails文件不在那里)所以那就好了,因为它完全被卸载了。
然后我做了宝石安装导轨,它安装了导轨和相关的宝石。这很好。
以上是关于难以安装和运行rails(/ usr / local / bin / rails:没有这样的文件或目录),曾经恢复到早期的rails版本的主要内容,如果未能解决你的问题,请参考以下文章