Node not finding Less module

心不动则不痛 提交于 2019-12-19 19:02:14

问题


I am trying to install Node and Less on Ubuntu 12.1. Installing appears to work ok and I can see there is a Less folder created when I install Less using "sudo npm g install less" in:

/usr/local/lib/node_modules

However when I run "lessc -v" I get the below:

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)

Any ideas where I am going wrong?


回答1:


You should create symlink to node modules directory into your home directory.

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

(if you installed node from source it'll be /usr/local/lib/node_modules)




回答2:


Modules installed in the "global scope" (which is what happens when you use npm -g install or install node modules from Ubuntu repositories, for example - sudo apt-get install node-less) are loaded by populating the NODE_PATH environment variable.

Packages installed from Ubuntu repositories handle this automatically, but if you install manually you have to set this yourself. In your case, you'd need to add the following command to your .bash_profile:

export NODE_PATH="$NODE_PATH:/usr/local/lib/node_modules"



回答3:


sudo ln -s /etc/alternatives/node /usr/local/bin/node

It works at my Ubuntu 13.04



来源:https://stackoverflow.com/questions/14945298/node-not-finding-less-module

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!