在多台机器上使用 Foundation-CLI / Gulp
Using Foundation-CLI / Gulp on Multiple Machines
我正在开展一个项目,该项目使用跨多台计算机的网站基础。我已经通过命令行应用程序(版本 2.1.0)安装了基础。我的项目文件夹是通过 Dropbox 同步的,如果我在创建项目的原始机器上 运行 "foundation build" 或 "foundation watch",它工作正常。
但是,当我尝试在我的第二台计算机上 运行 "foundation watch" 时(使用相同版本的 foundation-cli 和 gulp),我收到此错误。唯一的区别是一台计算机的节点为 5.7.0,另一台计算机的节点为 5.0.0。其他一切(foundation-cli、bower、gulp)都是 运行ning 相同的版本。有什么想法可以解决这个问题吗?谢谢
这是错误:
> 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,所以版本在任何地方都是一样的。
这看起来像 gulp 的包有问题。我有同样的错误(虽然没有使用基础)并在 "npm cache clean" 为我修复它后重新安装 gulp,你没有提到已经尝试过。
原来我可以在多台电脑上使用它。您只需删除 node_modules
文件夹(例如,rm -r node_modules
),然后当您想在另一台机器上使用时,请执行 npm install
为该环境取回节点模块。这有点烦人,因为在通过 Dropbox 或 NextCloud 执行此操作时有太多文件要同步。
我正在开展一个项目,该项目使用跨多台计算机的网站基础。我已经通过命令行应用程序(版本 2.1.0)安装了基础。我的项目文件夹是通过 Dropbox 同步的,如果我在创建项目的原始机器上 运行 "foundation build" 或 "foundation watch",它工作正常。
但是,当我尝试在我的第二台计算机上 运行 "foundation watch" 时(使用相同版本的 foundation-cli 和 gulp),我收到此错误。唯一的区别是一台计算机的节点为 5.7.0,另一台计算机的节点为 5.0.0。其他一切(foundation-cli、bower、gulp)都是 运行ning 相同的版本。有什么想法可以解决这个问题吗?谢谢
这是错误:
> 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,所以版本在任何地方都是一样的。
这看起来像 gulp 的包有问题。我有同样的错误(虽然没有使用基础)并在 "npm cache clean" 为我修复它后重新安装 gulp,你没有提到已经尝试过。
原来我可以在多台电脑上使用它。您只需删除 node_modules
文件夹(例如,rm -r node_modules
),然后当您想在另一台机器上使用时,请执行 npm install
为该环境取回节点模块。这有点烦人,因为在通过 Dropbox 或 NextCloud 执行此操作时有太多文件要同步。