【问题标题】:Installing node-sass fails on Ubuntu 18.04在 Ubuntu 18.04 上安装 node-sass 失败
【发布时间】:2022-02-13 14:08:22
【问题描述】:

我有一个简单的 next.js 项目,我是按照他们的教程创建的。它在我的 Windows 开发机器上构建和运行良好。

我想在 Ubuntu 18.04.02 LTS 上部署它,但是当我克隆 git 项目并运行 npm install 时,它无法安装 node-sass,并显示以下错误消息:

> node-sass@4.12.0 install /var/www/example.com/beta/node_modules/node-sass
> node scripts/install.js

internal/modules/cjs/loader.js:584
    throw err;
    ^

Error: Cannot find module '/var/www/example.com/beta/node_modules/node-sass/scripts/install.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
    at Function.Module._load (internal/modules/cjs/loader.js:508:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.12.0 install: `node scripts/install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the node-sass@4.12.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: ...

这是log file 的要点。请参阅错误的最后几行(我已包含整个文件,以防有其他有用的信息)。

我的 NodeJS 版本是 10.15.3,我的 NPM 版本是 6.4.1。我不确定如何在 Ubuntu 上运行 next.js 项目。

【问题讨论】:

    标签: node.js npm ubuntu-18.04 node-sass


    【解决方案1】:

    显然,我需要使用--unsafe-perms 标志安装它:

    npm install --unsafe-perms
    

    没有解释为什么需要这个,unsafe 这个词也不是很多人推荐的。

    此外,文件夹权限需要使脚本可以创建文件夹。我必须创建一个文件夹为me,在那里克隆repo,运行npm install --unsafe-perms,然后将权限设置为生产网络服务器。

    参考见here

    【讨论】:

    • --unsafe-perms 如果您以 root/sudo 身份运行,则 NPM 需要安装脚本
    【解决方案2】:

    在安装所有其他软件包之前尝试手动安装它 - 可能存在一些软件包依赖性问题。

    npm install node-sass@4.12.0 && npm install

    【讨论】:

    • 没有用。无法运行脚本的相同问题。
    【解决方案3】:

    本模块对节点版本有限制,如下:

    解决方法是:安装时指定模块版本。

    附注其他方法:

    如果你只想使用 scss/sass,使用这个模块:

     npm install sass sass-loader
    

    这不适用于:节点 16,ubuntu 18

    npm install --unsafe-perms
    

    node 14, ubuntu 18 可以安装:

    npm install node-sass
    

    【讨论】:

      猜你喜欢
      • 2018-11-12
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 2018-09-16
      • 2020-02-25
      • 2022-06-14
      • 1970-01-01
      相关资源
      最近更新 更多