6

我正在尝试在 Ubuntu 12.1 上安装 Node 和 Less。安装似乎工作正常,我可以看到当我使用“sudo npm g install less”安装Less时创建了一个Less文件夹:

/usr/local/lib/node_modules

但是,当我运行“lessc -v”时,我得到以下信息:

module.js:340
    throw err;
          ^
Error: Cannot find module 'less'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/bin/lessc:8:12)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)

有什么想法我哪里出错了吗?

4

3 回答 3

8

您应该将节点模块目录的符号链接创建到您的主目录中。

$ ln -s /usr/lib/node_modules/ ~/.node_libraries

(如果您从源代码安装节点,它将是 /usr/local/lib/node_modules)

于 2014-01-13T07:23:07.507 回答
1

安装在“全局范围”中的模块(当您使用npm -g install或安装来自 Ubuntu 存储库的节点模块时会发生这种情况,例如 - sudo apt-get install node-less)是通过填充NODE_PATH环境变量来加载的。

从 Ubuntu 存储库安装的软件包会自动处理此问题,但如果您手动安装,则必须自己设置。在您的情况下,您需要将以下命令添加到您的.bash_profile

export NODE_PATH="$NODE_PATH:/usr/local/lib/node_modules"
于 2015-06-07T16:00:12.150 回答
0
sudo ln -s /etc/alternatives/node /usr/local/bin/node

它适用于我的 Ubuntu 13.04

于 2014-02-16T23:53:55.123 回答