$:.unshift File.join(File.dirname(__FILE__),\
'vendor','addressable-2.1.0','lib','addressable','uri')
上面的代码是否访问具有此路径的文件:
'vendor/addressable-2.1.0/lib/addressable/uri'
我正在尝试将可寻址的gem提供给Sinatra应用程序以将其部署到我的托管服务提供商,但我一直在接收:
"no such file to load -- addressable/uri"
将“unshift
”行放入config.ru
后。
答案 0 :(得分:3)
上面的代码将路径“vendor / addressable-2.1.0 / lib / addressable / uri”添加到用于查找外部文件的全局变量中。该路径将相对于包含此代码所在文件的目录。因此{dir}是config.ru目录,它将{dir}/vendor/addressable-2.1.0/lib/addressable/uri
添加到包含的查找路径。
答案 1 :(得分:0)
该行的作用是将路径'vendor / addressable-2.1.0 / lib / addressable / uri'(相对于您的ruby脚本所在的目录)放入加载路径,这是目录列表ruby查找您需要的文件时查看。
该线本身不会尝试访问任何文件。