问题 custom_require.rb:36:在`require'中:没有要加载的文件 - myapp(LoadError)


我得到上面的错误,我所做的就是安装rvm并从mac获得的默认ruby更新到ruby 1.9.2。

我所有的宝石出现在宝石列表中,但是我需要在某处指定路径吗?

干杯,

glenno。


6962
2017-08-19 04:48


起源



答案:


检查您是否安装了gem gem list 如果没有,请照常安装 gem install whatever 或者如果你想要一个特定的版本 gem install whatever -v 1.2.3 或者如果您的项目中有捆绑器(即Rails),那就是 bundle install

如果你有所有宝石,那么这可能是一个本地文件,你可能来自Ruby版本<1.9,你需要修复你的 $LOAD_PATH (这将取决于我在这里解释的太多因素),或指定所需文件的完整路径 File.dirname(__FILE__) + '/myapp'

否则,您需要提供更多信息,例如您以前运行的版本,什么 myapp 是,以及它与您的文件有关。


10
2017-08-19 06:31



嗨,我认为它的第二点,我的宝石列表是好的,我来自ruby on mac osx 1.8.7安装rvm到我家驱动器然后rvm安装ruby 1.9.2。我如何修复我的加载路径,是在我的配置文件或文件中给出错误,即custom_require? - user901790
每个应用程序的加载路径都不同。 Rubygems已经管理了你的宝石的加载路径,所以我假设myapp是你想要相对于它所需文件的本地文件。在这种情况下,你可以做到 require File.dirname(__FILE__) + '/myapp' (假设他们在同一个目录中)。或者您可以将应用程序的根添加到加载路径,如下所示 $LOAD_PATH.unshift File.dirname(__FILE__) (假设此文件位于root中,并且是第一个加载的文件),则需要相对于root的所有文件。 - Joshua Cheek
对不起约书亚,我是osx的新手,我在哪里添加文件路径?让我给你一些上下文,mongoblog是项目,在它内部运行rackup config.ru启动myapp.rb。在config.ru文件或myapp.rb中放置require file.dirname? - user901790
废话,我添加了配置文件的路径,现在我得到一个不同的错误。 dependencies.rb:239:在`require'中:没有要加载的文件 - views / layout(LoadError) - user901790
我会把第二个例子 $LOAD_PATH.unshift File.dirname(__FILE__) 在配置中。您的错误意味着视图不是配置中的目录(或者您使用了第一个示例)。在这种情况下,您需要从根目录指定布局路径(可能 require "app/views/layout")顺便说一句,如果这是Rails,你可能做错了,因为所有这些都应该已经为你处理了。 - Joshua Cheek


答案:


检查您是否安装了gem gem list 如果没有,请照常安装 gem install whatever 或者如果你想要一个特定的版本 gem install whatever -v 1.2.3 或者如果您的项目中有捆绑器(即Rails),那就是 bundle install

如果你有所有宝石,那么这可能是一个本地文件,你可能来自Ruby版本<1.9,你需要修复你的 $LOAD_PATH (这将取决于我在这里解释的太多因素),或指定所需文件的完整路径 File.dirname(__FILE__) + '/myapp'

否则,您需要提供更多信息,例如您以前运行的版本,什么 myapp 是,以及它与您的文件有关。


10
2017-08-19 06:31



嗨,我认为它的第二点,我的宝石列表是好的,我来自ruby on mac osx 1.8.7安装rvm到我家驱动器然后rvm安装ruby 1.9.2。我如何修复我的加载路径,是在我的配置文件或文件中给出错误,即custom_require? - user901790
每个应用程序的加载路径都不同。 Rubygems已经管理了你的宝石的加载路径,所以我假设myapp是你想要相对于它所需文件的本地文件。在这种情况下,你可以做到 require File.dirname(__FILE__) + '/myapp' (假设他们在同一个目录中)。或者您可以将应用程序的根添加到加载路径,如下所示 $LOAD_PATH.unshift File.dirname(__FILE__) (假设此文件位于root中,并且是第一个加载的文件),则需要相对于root的所有文件。 - Joshua Cheek
对不起约书亚,我是osx的新手,我在哪里添加文件路径?让我给你一些上下文,mongoblog是项目,在它内部运行rackup config.ru启动myapp.rb。在config.ru文件或myapp.rb中放置require file.dirname? - user901790
废话,我添加了配置文件的路径,现在我得到一个不同的错误。 dependencies.rb:239:在`require'中:没有要加载的文件 - views / layout(LoadError) - user901790
我会把第二个例子 $LOAD_PATH.unshift File.dirname(__FILE__) 在配置中。您的错误意味着视图不是配置中的目录(或者您使用了第一个示例)。在这种情况下,您需要从根目录指定布局路径(可能 require "app/views/layout")顺便说一句,如果这是Rails,你可能做错了,因为所有这些都应该已经为你处理了。 - Joshua Cheek


在我的情况下,它是rvm问题,我使用rvm 1.9,当我将其更改为1.8,迁移工作。

rvm使用1.8


0
2017-09-25 09:36





在我的情况下,我转换为Cygwin64。 Cygwin目录名称已更改,Ruby已升级到1.9。修复Cygwin目录名后,第二个解决方案有效。或至少解决了这个问题:

require File.dirname(文件)+'/ myapp.rb'


0
2018-05-07 16:16