在任何来源中都找不到nokogiri1.6.7.1



所以我是个新手(嘿,至少我发现了堆栈溢出,对吧?),我正在使用Michael Hartl的Ruby on Rails Tut。第三章让我输入:

sudo rails generate controller StaticPages home help

然后我回来:

Could not find nokogiri-1.6.7.1 in any of the sources
Run `bundle install` to install missing gems.

当我查看捆绑包安装程序时,它肯定列出了nokogiri 1.6.7.1当我输入时AND:

bundle show nokogiri

我得到:

/Users/user/.rvm/gems/ruby-2.2.3@rails3tutorial2ndEd/gems/nokogiri-1.6.7.1

我在我的macbook pro os x el capitan v 10.11.1 上使用rails v 4.2.5

我们非常感谢您的帮助。也许我可以在一两年后付清!

Bundler是一个确保运行时环境使用正确库和版本的工具。通常,我们准备命令来进行Ruby开发,包括Rails:
bundle exec rails generate controller StaticPages home help

bundle exec获取一个命令及其参数,并将其运行到Gemfile中定义的环境中,该环境位于同一文件夹中。

正如@David Grayson所提到的,sudo改变了环境。为了代码的安全性和打包,最好以当前用户的身份运行(并避免部署团队的愤怒)。

尝试在没有sudo的情况下运行该命令。由于sudo以root用户的身份运行该命令,它会更改您的环境,并可能导致您使用了错误版本的Ruby,或者您使用的Ruby版本看不到您安装的gem。

编辑:正如Eric Platon所指出的,尝试在该命令的开头添加bundle exec,以确保bundler已加载,并且将使用正确版本的Rails。

相关内容

  • 没有找到相关文章