使用Rails应用程序。同事推动了新的提交,使其掌握了一些新的宝石。然后,我将master分支拉到要处理的本地分支,应用程序中断并在标题上显示错误。
我使用Ubuntu,其他团队则使用Mac。
有什么想法吗?
已经将我的终端上的Node.js更新为当前最新版本的10.x。但是错误仍然显示Node v4.9.1
消息。
答案 0 :(得分:13)
对于将来的搜索者,我们的团队只能在Ubuntu环境中重复此错误。(仅在iOS和Ubuntu 16.04上进行过尝试)
已经尝试安装最新的Node.js版本,但无济于事。
我的问题中有一个链接,讨论这种情况的发生方式和解决方法。
因此,解决方案是将mini_racer
gem安装到您的rails应用中。
答案 1 :(得分:1)
我有一个类似的问题。我更新了Node,但没有任何反应。 然后,我查看了我的Gemfile.lock,发现一些gem与autoprefixer-rails有一些运行时相关性(在我的情况下是bootstrap-sass)。然后,我升级了bootstrap-sass版本,以使用较新的autoprefixer-rails依赖项(> = 5.2.1)。
然后我运行捆绑安装并部署了我的应用程序,结果一切都很好。
另一方面,如果要部署到AWS,请确保重新启动EC2实例并观看/var/log/eb-activity.log。
答案 2 :(得分:0)
如何对bootstrap-sass版本进行最高级别的升级,以使用autoprefixer-rails(> = 5.2.1)的较新依赖性。
答案 3 :(得分:0)
您可以在Gemfile中用mini_racer替换therubyracer
只是评论
Swagger
并添加
#gem 'therubyracer', platforms: :ruby
然后只需运行适用于我的情况的命令gem 'mini_racer', platforms: :ruby
答案 4 :(得分:0)
因此您安装了 2 个 NodeJS,即一个带有 NVM,第二个带有操作系统包管理器(apt
、yum
或 pacman
)。你可以检查如下,
node -v #should give output for nvm version
nodejs -v #should give output for system package manager version
所以要解决这个问题,你可以从系统包管理器中删除 NodeJS,如下所示,
sudo apt remove nodejs
这应该可以解决问题,但为了安全起见,您可以删除缓存,如下所示,
sudo npm cache clean -f