在多台计算机上使用Foundation-CLI / Gulp

时间:2016-02-25 20:46:24

标签: node.js sass gulp zurb-foundation

我正在为一个跨多台计算机的网站使用基础的项目。我通过命令行应用程序(版本2.1.0)安装了基础。我的项目文件夹通过dropbox同步,如果我在创建项目的原始机器上运行“foundation build”或“foundation watch”,它工作正常。

但是,当我尝试在我的第二台计算机上运行“基础监视”(使用相同版本的foundation-cli和gulp)时,我收到此错误。唯一的区别是一台计算机有节点5.7.0而另一台有5.0.0。其他一切(基础 - cli,bower,gulp)都运行相同的版本。我有什么想法可以解决这个问题?感谢。

这是错误:

> foundation-sites-template@1.0.0 start /Users/nick/Dropbox/Sync/Web Site/www/wp-content/themes/foundation 
> gulp 
module.js:339 
throw err; 
^ 
Error: Cannot find module '../lib/completion' 
at Function.Module._resolveFilename (module.js:337:15) 
at Function.Module._load (module.js:287:25) 
at Module.require (module.js:366:17) 
at require (module.js:385:17) 
at Object. (/Users/nick/Dropbox/Sync/Web Site/www/wp-
content/themes/foundation/node_modules/.bin/gulp:13:18) 
at Module._compile (module.js:425:26) 
at Object.Module._extensions..js (module.js:432:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:311:12) 
at Function.Module.runMain (module.js:457:10) 
Error: foundation-sites-template@1.0.0 start: `gulp` 
Exit status 1 
at EventEmitter. (/usr/local/lib/node_modules/foundation-
cli/node_modules/npm/lib/utils/lifecycle.js:214:16) 
at emitTwo (events.js:87:13) 
at EventEmitter.emit (events.js:172:7) 
at ChildProcess. (/usr/local/lib/node_modules/foundation- 
cli/node_modules/npm/lib/utils/spawn.js:24:14) 
at emitTwo (events.js:87:13) 
at ChildProcess.emit (events.js:172:7) 
at maybeClose (internal/child_process.js:818:16) 
at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

编辑:我已在我的其他计算机上更新到节点5.7.0,因此版本在任何地方都是相同的。

2 个答案:

答案 0 :(得分:0)

这看起来像gulp的包装有问题。我有同样的错误(虽然没有使用基础)并在" npm缓存清理"之后重新安装gulp。为我修好了,你没有提过尝试过。

答案 1 :(得分:0)

事实证明我可以在多台计算机上使用它。您只需删除node_modules文件夹(例如rm -r node_modules),然后当您想在其他计算机上使用npm install时,为该环境恢复节点模块。这有点令人讨厌,因为在通过Dropbox或NextCloud执行此操作时,要同步的文件太多了。