ruby Rails:安装成功后找不到命令

fquxozlt  于 2023-08-04  发布在  Ruby
关注(0)|答案(6)|浏览(170)

所以我安装了ruby,gems和rails -但是每当我输入rails时,我都会得到rails: Command not found.错误。
我做了一个转储我的本地宝石,我将包括在下面

*** LOCAL GEMS ***

actionmailer (3.2.7)
actionpack (3.2.7)
activemodel (3.2.7)
activerecord (3.2.7)
activeresource (3.2.7)
activesupport (3.2.7)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.0)
bundler (1.1.5)
daemon_controller (1.0.0)
erubis (2.7.0)
fastthread (1.0.7)
hike (1.2.1)
i18n (0.6.0)
io-console (0.3)
journey (1.0.4)
json (1.5.4)
mail (2.4.4)
mime-types (1.19)
minitest (2.5.1)
multi_json (1.3.6)
mysql (2.8.1)
passenger (3.0.14)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.7)
railties (3.2.7)
rake (0.9.2.2)
rdoc (3.12, 3.9.4)
sprockets (2.1.3)
thor (0.15.4)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.33)

字符串
我还检查了我的gem环境设置(下面)

- RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-freebsd8.1]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-freebsd-8
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.9.1
     - /root/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/


并回显了我的$PATH变量/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
我试图进入whereis命令告诉我安装了rails的地方

whereis rails
rails: /usr/local/bin/rails


然后从那里执行rails,同样,我得到了rails: Command not found.
我在VPS上运行FreeBSD,并且想学习PHP之外的其他语言,但是我似乎无法用一生的时间来理解这一点。任何帮助都会很棒

wqsoz72f

wqsoz72f1#

我不确定是否所有的gem文件都位于第一次安装的ruby文件夹中,但是如果gem安装在一个单独的目录中,rails将无法工作。在我的例子中,rails被安装在一些.local目录中,这不是ruby所在路径的一部分。一旦我删除了这个外部目录,我就运行geminstallrails来重新安装所有的gem。这正确地把所有的宝石内的ruby文件夹和问题得到解决。

omqzjyyz

omqzjyyz2#

如果你只通过Bundler安装Rails,那么只有运行bundle exec rails才能访问rails
只有在没有Bundler的情况下直接执行gem install rails时,才存在“naked”rails命令。

ar7v8xwq

ar7v8xwq3#

如果你使用的是rbenv,那么在为你的rails应用程序安装依赖项之后,你可能需要运行rbenv rehash。即bundle install
digitalocean
无论何时安装新版本的Ruby或提供命令的gem,都应该运行rehash子命令。这将为rbenv已知的所有Ruby可执行文件安装shim,这将允许您使用可执行文件:
希望这对你有帮助!

gg0vcinb

gg0vcinb4#

如果您的应用正在生产环境中运行,但在root上找不到rails命令,那么这可能会有所帮助:
运行

script/rails c ENV

而不是

导轨c ENV

我也遇到了同样的问题,就这样解决了。该应用程序在nginx/passenger上运行,但无法在生产环境中运行rails console/ rails server。

lf3rwulv

lf3rwulv5#

我确信你的问题是由其他gem目录中的gem引起的,在这里:

/root/.gem/ruby/1.9.1

字符串
因此,对于未来的读者,请查看您的其他GEM PATHS
(And如果这个答案是错的,我会及时更新。)

kdfy810k

kdfy810k6#

我刚刚在另一个场景中遇到了同样的问题,我在ubuntu-20.04上安装了rails沿着rvm
我不得不将以下行添加到我的~/.bashrc(或`~/. profile ')

# Where you installed rvm...
source ~/.rvm/scripts/rvm

字符串

相关问题