Autoprefixer不支持Node v4.8.2。请更新。

6

我有一个运行Rails 5.2.1和Ruby 2.5.1的Rails应用程序。当我运行Rails服务器时,我遇到以下错误:

Autoprefixer doesn’t support Node v4.8.2. Update it.

当我去控制台检查我安装的Node版本时,输入node -v,会得到以下结果:
v10.11.0

当我输入 nvm ls 时,我会得到以下结果:
default -> node (-> v10.11.0)
node -> stable (-> v10.11.0) (default)
stable -> 10.11 (-> v10.11.0) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.4 (-> N/A)
lts/carbon -> v8.12.0 (-> N/A)

我查看了Stackoverflow上的其他答案,大多数都提到了therubyracer gem,但我没有为这个应用程序安装该gem。这个版本的Node可能在哪里隐藏,我该如何删除它?


你是如何安装Ruby的?你使用RVM吗?你尝试过https://github.com/ai/autoprefixer-rails吗? - lacostenycoder
运行你的Rails控制台并粘贴以下输出: ENV['NVM_PATH'] ENV['NVM_BIN'] ENV['PATH'] - lacostenycoder
ENV['NVM_PATH']ENV['NVM_BIN'] 都返回 nil。而 ENV['PATH'] 返回的是 /.rvm/rubies/ruby-2.5.1/bin:/Users/myname/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin - hashrocket
很可能你的终端配置中$PATH不正确。请在回答中粘贴gem env的输出,还有你使用的是什么shell?bash?zsh? - lacostenycoder
1个回答

19

你需要更新已安装的Node.js版本。

这个问题在这里得到了解决:https://github.com/ai/autoprefixer-rails/issues/144

如果你是通过NPM和操作系统包管理器(如aptdnfyumpacman)安装的Node.js,则需要删除由操作系统包管理器安装的版本。

# Using apt on Debian or Ubuntu based Linux distributions
sudo apt remove nodejs
如果您正在使用最近的Debian或Ubuntu版本,可以按照以下方式安装Node.js。
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
如果使用Ruby Docker 容器,则在安装 nodejs 包之前添加以下内容。请注意,在容器中不使用sudo
curl -sL https://deb.nodesource.com/setup_10.x | bash -

有关安装和更新Node.js的更多信息,请访问此处: https://nodejs.org/en/download/package-manager


我在我们的CI流水线中使用ruby 2.5.3容器时,在Gitlab上遇到了同样的问题。添加curl -sL https://deb.nodesource.com/setup_10.x | bash -解决了这个问题。 - anka
我有一个 Docker 容器,它仍在安装相同的 v4.8.2 版本。不确定出了什么问题。 - Mayuresh Srivastava
@MayureshSrivastava 请从这里尝试新版本:https://github.com/nodesource/distributions/blob/master/README.md - HarlemSquirrel
@Harlem 已经尝试使用 setup_16.x 了。 - Mayuresh Srivastava
@MayureshSrivastava 在安装新版本之前,请确保删除任何先前的 Node 版本。 - HarlemSquirrel
@Harlem 在容器中只有Node.js版本4.8.2,我已将其删除。 - Mayuresh Srivastava

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接