我在远程服务器上,无法访问互联网。
有一个Rails应用程序。
尝试bundle install
(所有宝石都使用bundle package --all到app/vendor/cached
缓存了)
由于没有互联网连接,因此我使用--local
标志(告诉bundle
使用缓存的值-link):运行bundle install --local
失败:
An error occurred while installing pg (1.1.4), and Bundler cannot continue.
Make sure that "gem install pg -v '1.1.4' --source 'https://rubygems.org'" succeeds before bundling.
现在,缓存的gem位于app/vendor/cached/pg.1.1.4.gem
上的app文件夹中
这仅发生在pg
宝石上。
通常,我使用以下命令解决此问题:bundle config build.pg --with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10
(基本上告诉捆绑软件在安装pg
时使用这些参数)。但这就是我可以上网的时候。
现在我可以使用以下命令手动安装pg:
gem install --local app/vendor/cached/pg.1.1.4.gem -- --with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10
请注意,参数分为两部分,用--
分隔:
--local app/vendor/cached/pg.1.1.4.gem
--with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10
所以参数的第一部分:--local app/vendor/cached/pg.1.1.4.gem
我如何捆绑销售?
在我有互联网连接的工作站上,我仍然遇到该错误,但可以使用此错误来解决:
bundle config build.pg --with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10
基本上告诉bundle在安装pg
时使用这些参数
但是现在捆绑包还需要使用本地路径吗?我猜? (例如gem install命令使用?
它尝试连接到rubygems.org
总结一下:如何使bundle install
安装本地pg gem
?或将先前显示的工作gem install命令转换为捆绑安装命令?
ruby 2.5.3
,rails 5.2.1
,bundler 1.17.3
bundle config
的输出:
build.pg (/home/myuser/.bundle/config): "--with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10"
我使用bundle config build.pg
命令尝试了几种组合,但没有成功:
答案 0 :(得分:0)
通过运行解决
捆绑配置build.pg --with-pg-config = / usr / pgsql-10 / bin / pg_config
。