ruby 将Rails应用程序部署到render.com时出错:“您的捆绑包仅支持平台[“x86_64-达尔文-22”],但您的本地平台是x86_64-Linux”

mfuanj7w  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(84)

当我尝试部署到render.com时,发生了错误,我查看了错误,出现了以下消息

==> Running build command 'bundle install; bundle exec rake assets:precompile; bundle exec rake assets:clean;'...
Your bundle only supports platforms ["x86_64-darwin-22"] but your local platform is x86_64-linux.
Add the current platform to the lockfile with `bundle lock --add-platform x86_64-linux` and try again.

第一个x86_64-达尔文-22,是什么?所以我查了一下,发现:

  • x86_64:PC CPU的位数(信息量)
  • 达尔文:苹果开发的操作系统。发音为达尔文,似乎是Mac OS的基础
  • 22:是版本号吗?

我想尽快用苹果硅电脑取代我的Mac。
但您的本地平台是x86_64-Linux。将当前平台添加到锁文件中因此,似乎需要将环境的平台添加到Gemfile. lock中。
解决方案在本地环境bundle lock中使用命令更新Gemfile.lock运行以下命令

$ bundle lock --add-platform x86_64-linux

执行结果

x86_64-linux added!

Gemfile.lock

+ nokogiri (1.13.9-x86_64-linux)
+   racc (~> 1.4)

PLATFORMS
  x86_64-darwin-22
+ x86_64-linux
sxissh06

sxissh061#

有类似的issue。这是关于Heroku的,而不是关于render.com,但也应该工作

bundle lock --add-platform x86_64-linux --add-platform ruby
bundle install
git add Gemfile.lock
git commit -m "Bundler fix"

然后重复部署(将新提交推送到分支)

相关问题