16

所以我安装了 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 以外的其他语言,但我似乎无法在我的一生中弄清楚这一点……任何帮助都会很棒。

4

4 回答 4

41

如果您仅通过 Bundler 安装 Rails,则rails只有在运行bundle exec rails.

仅当您直接没有 Bundlerrails时,才会存在“裸”命令。gem install rails

于 2014-10-13T15:43:52.477 回答
11

如果您正在使用rbenv,则可能需要rbenv rehash在为您的 rails 应用程序安装依赖项后运行。IE。bundle install

来自数字海洋

每当您安装新版本的 Ruby 或提供命令的 gem 时,都应该运行 rehash 子命令。这将为 rbenv 已知的所有 Ruby 可执行文件安装 shim,这将允许您使用这些可执行文件:

希望这可以帮助!

于 2018-07-27T20:18:38.970 回答
2

我确定您的问题是由其他 gem 目录中的 gem 引起的,这里:

/root/.gem/ruby/1.9.1

因此,对于未来的读者,请查看您的其他GEM PATHS.

(然后如果那是错误的,我会适当地更新这个答案。)

于 2012-08-08T07:11:25.933 回答
2

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

脚本/rails c ENV

代替

导轨 c ENV

我有同样的问题并以这种方式解决。该应用程序使用 nginx/passenger 运行,但无法在生产环境中运行 rails console/rails server。

于 2013-04-04T08:14:37.353 回答