我正在为一个跨多台计算机的网站使用基础的项目。我通过命令行应用程序(版本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,因此版本在任何地方都是相同的。
答案 0 :(得分:0)
这看起来像gulp的包装有问题。我有同样的错误(虽然没有使用基础)并在" npm缓存清理"之后重新安装gulp。为我修好了,你没有提过尝试过。
答案 1 :(得分:0)
事实证明我可以在多台计算机上使用它。您只需删除node_modules
文件夹(例如rm -r node_modules
),然后当您想在其他计算机上使用npm install
时,为该环境恢复节点模块。这有点令人讨厌,因为在通过Dropbox或NextCloud执行此操作时,要同步的文件太多了。