资产:找不到模块'少'

时间:2013-10-09 21:33:09

标签: less laravel-4 npm assetic

问题:

  • 我正在使用laravel 4 + basset进行资产管理(OSX)。
  • 我已将twitter引导程序添加到我的作曲家作为依赖项。
  • 我想将较少的文件编译成一个集合:

    Basset::collection('TwitterBootstrap', function($collection)
    {
        // Collection definition.
        $collection->add('../vendor/twbs/bootstrap/less/bootstrap.less');
    })->apply('Less');
    
  • 然后我尝试构建集合:

    php artisan basset:build TwitterBootstrap
    
  • 会引发错误:

    [Assetic\Exception\FilterException]
      An error occurred while running:
      '/usr/local/bin/node' '/private/var/folders/f4/xjby77695pbcgfdjfclfdqd40000gn/T/assetic_less5y7dnh'
    
      Error Output:
    
      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:364:17)
          at require (module.js:380:17)
          at Object.<anonymous> (/private/var/folders/f4/xjby77695pbcgfdjfclfdqd40000gn/T/assetic_less5y7dnh:1:74)
          at Module._compile (module.js:456:26)
          at Object.Module._extensions..js (module.js:474:10)
          at Module.load (module.js:356:32)
          at Function.Module._load (module.js:312:12)
          at Function.Module.runMain (module.js:497:10)
    

我在全球范围内安装较少 - 我不确定为什么这会抛出错误/修复什么(我的路径?节点配置?资产配置?)

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我通过使用npm安装较少来解决它:

npm install less

要全局使用较少,请不要在项目的根目录下运行“npm install less”。 而是在项目中添加符号链接到全局符号链接(/ home / {user} / node_modules / less /):

ln -s /home/{user}/node_modules/less/ /path/to/project/node_modules/less
ln -s /home/{user}/node_modules/less/bin/lessc /path/to/project/node_modules/less/.bin/lessc

答案 1 :(得分:0)

你是如何少安装的?

npm install less

参考:https://npmjs.org/package/less

编辑......刚看到你的脚注。

另一种选择是通过编辑器安装lessPHP并使用LessphpFilter代替LessFilter