当我试图在非空文件夹(带有IDE文件夹和.gitignore文件)中使用D1创建新的松露项目时,我收到了一个错误:
Error: Something already exists at the destination. Please unbox in an empty folder. Stopping to prevent overwriting data. at C:\Users\...\Roaming\npm\node_modules\truffle\build\webpack:\~\truffle-box\lib\utils\unbox.js:22:1 at at process._tickCallback (internal/process/next_tick.js:188:7) at Function.Module.runMain (module.js:686:11) at startup (bootstrap_node.js:187:16) at bootstrap_node.js:608:3
在任何情况下,我如何强迫松露创建一个新项目?
发布于 2018-05-21 10:12:49
遵循Truffy-Please unbox in an empty folder给你的提示(在这一点上几个感叹号可能是合适的):
首先在空文件夹中调用
truffle init,然后将输出复制到任何您想要的位置。
或者,您也可以在调用at后更改npm install自己的风险源代码:
./node_modules/truffle/build/cli.bundled.jsPlease unbox in an empty folder,您将发现以下函数:function checkDestination(destination) {
return Promise.resolve().then(function() {
var contents = fs.readdirSync(destination);
if (contents.length) {
var err = "Something already exists at the destination. " +
"Please unbox in an empty folder. " +
"Stopping to prevent overwriting data."
throw new Error(err);
}
})
}throw new Error(err);替换为console.warn(err);您还可以编写一个JS脚本,并将其嵌入到您的package.json文件中,如下所示:
"scripts": {
"install": "node my-script.js"
}这样,您就不必在每个npm install之后手动完成整个工作。
这是一种“合法”的方法,可以修复Truffle (或任何其他npm包)中的bug,直到作者自己解决为止。
唯一的问题是,你遇到的问题远远不是一个bug。
发布于 2018-12-26 22:22:56
您可以使用truffle init --force。
根据这个松露文档页面的说法:
您可以使用可选的强制方法来初始化当前目录中的项目,而不管它的状态如何(例如,即使它包含其他文件或目录)。这适用于init和unbox命令。小心,这可能会覆盖目录中存在的文件。
https://ethereum.stackexchange.com/questions/49035
复制相似问题