我对Ruby on Rails相对较新。
我尝试运行应用时遇到问题。我得到以下错误:
*错误* :无法执行/usr/local/rvm/wrappers/ruby-1.8.7-p174@soda/ruby:没有此类文件或目录(2)
这是真的;没有这样的目录。有一个名为的文件
/usr/local/rvm/wrappers/ruby-1.8.7-p174@DACE/ruby
- 这正是我想要使用的gem文件。
据我了解,.rvmrc
文件指定了gem文件的目录。但是,在这种情况下,.rvmrc
具有以下内容:
rvm --create use "ruby-1.8.7-p174@DACE"
此外,rvm info
/usr/local/rvm/gems/ruby-1.8.7-p174@DACE
的雕像实际上是宝石路径。
那么,为什么它认为应该寻找这条不存在的路径?
提前致谢, 添
答案 0 :(得分:1)
运行rvm current
以查看您使用的ruby版本和gemset。然后运行rvm gemset list
以查看您创建的gemsets。如果未列出soda
,请执行rvm gemset create soda
创建此gemset
删除此.rvmrc
文件,然后再创建一个文件。 (这不会破坏项目中的任何内容,只会删除ruby和gem的项目引用)
您可以阅读此答案,以帮助您更好地了解rvm的工作原理,其中有一个链接:
答案 1 :(得分:0)
我在使用Nginx& amp;设置轨道生产机器时遇到了同样的问题。乘客。我在这里解决了这个问题。
passenger-config build-native-support --help
这将为您提供类似于以下的输出:
用法:passenger-config build-native-support [OPTIONS]
Phusion Passenger使用名为的Ruby原生扩展 native_support,用于提高Ruby性能。扩展名 取决于Phusion Passenger版本和Ruby版本。 通常,每次使用Ruby运行Phusion Passenger版本 它之前没有遇到的版本,它将重建 该Ruby版本的native_support库。通过运行这个 命令,您可以强制为其构建native_support 当前的Ruby解释器。
目前的Ruby解释器是:
Path: /home/deploy/.rvm/gems/ruby-x.x.x@gemset/wrappers/ruby Version: 2.1.5
选项: -h, - help显示此帮助
现在从输出中复制Path并将其粘贴到nginx配置文件中。就我而言,它位于/etc/nginx/nginx.conf
passenger_ruby /home/deploy/.rvm/gems/ruby-x.x.x@gemset/wrappers/ruby
最后重启服务器或运行部署脚本。