【问题标题】:For some reason `node-sass` isn't working由于某种原因,“node-sass”不起作用
【发布时间】:2016-10-16 19:35:56
【问题描述】:

我正在尝试在 macOS 10.12 上安装 node-sass npm 模块。我用brew install node 很好地安装了npm(尽管我需要sudo chown 一些目录),并且npm install -g node-sass 工作正常并且安装得很好。但是,当我运行node-sass 之后它不起作用。它只是说-bash: node-sass: command not found。如果有帮助,命令which npm 返回/usr/local/bin/npm

在没有全局标志 (-g) 的情况下仅使用 npm install node-sass 在本地安装 node-sasscd-ing 到 ./node-modules/node-sass/bin/ 然后运行 ​​./node-sass 工作,但我希望它在全球运行,因为我想使用的 Atom 包 (sass-autocompile) 要求它在全局范围内运行。

【问题讨论】:

    标签: node.js bash npm sass node-sass


    【解决方案1】:

    我解决了这个问题,并将这个答案发布给其他可能有同样问题的人。

    首先,检查npm的路径前缀。您可以使用npm config get prefix 检查路径前缀。

    我的路径前缀实际上是/usr/local/Cellar/node/6.3.0/libexec/npm,而不是/usr/local

    将其更改为 /usr/local/npm config set prefix /usr/local。如果您的当前用户尚未拥有这些目录,也可以使用 sudo chown $USER /usr/local/ && sudo chown $USER /usr/local/bin 更改这些目录的所有权。

    现在你可以运行npm install -g node-sass,安装后它应该可以工作了!

    【讨论】:

      【解决方案2】:

      在 Mac OSX 上,需要“node-sass”命令的路径。

      您是全局安装包(npm install -g node-sass)还是本地安装?如果在本地,可以将 CLI 工具调用为 ./node_modules/.bin/node-sass

      当它全局安装时,您需要在 $PATH 环境变量中包含 /usr/local/bin。或者使用完整路径调用它:/usr/local/bin/node-sass -o ...

      【讨论】:

      • 感谢您的帮助。但是,这会返回 -bash: /usr/local/bin/node-sass: No such file or directory
      • 我已经更改答案再试一次
      • 返回什么:ls -al /usr/local/bin/node-sass?
      • 我使用-g 标志全局安装了它(感谢您提醒我这一点;我将其添加到答案中)。 ls -al /usr/local/bin/node-sass 返回ls: /usr/local/bin/node-sass: No such file or directory。另一件事:当我在本地安装它时(即没有-g 标志和cd./node-modules/node-sass/bin/,我可以运行./node-sass。我只是不能用node-sass 甚至/usr/local/bin/node-sass 全局运行它,我想这样做是因为我想使用的 Atom 包需要这样做。
      • 你可以在 Mac OSX 上编译 sass(使用“sass-autocompile”包)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多