Ruby on Rails-Autoprefixer不支持Node v4.9.1。更新它。怎么修?

时间:2018-08-20 07:44:28

标签: ruby-on-rails node.js ubuntu

使用Rails应用程序。同事推动了新的提交,使其掌握了一些新的宝石。然后,我将master分支拉到要处理的本地分支,应用程序中断并在标题上显示错误。

我使用Ubuntu,其他团队则使用Mac。

有什么想法吗?

已经将我的终端上的Node.js更新为当前最新版本的10.x。但是错误仍然显示Node v4.9.1消息。

参考:https://github.com/ai/autoprefixer-rails/issues/137

5 个答案:

答案 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,第二个带有操作系统包管理器(aptyumpacman)。你可以检查如下,

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