首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在非空文件夹中调用“松露init`”

在非空文件夹中调用“松露init`”
EN

Ethereum用户
提问于 2018-05-21 09:38:09
回答 2查看 1.2K关注 0票数 3

当我试图在非空文件夹(带有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

在任何情况下,我如何强迫松露创建一个新项目?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2018-05-21 10:12:49

遵循Truffy-Please unbox in an empty folder给你的提示(在这一点上几个感叹号可能是合适的):

首先在空文件夹中调用truffle init,然后将输出复制到任何您想要的位置。

或者,您也可以在调用at后更改npm install自己的风险源代码:

  1. 在文本编辑器中打开文件./node_modules/truffle/build/cli.bundled.js
  2. 搜索Please unbox in an empty folder,您将发现以下函数:
代码语言:javascript
复制
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);
    }
  })
}
  1. throw new Error(err);替换为console.warn(err);

您还可以编写一个JS脚本,并将其嵌入到您的package.json文件中,如下所示:

代码语言:javascript
复制
"scripts": {
    "install": "node my-script.js"
}

这样,您就不必在每个npm install之后手动完成整个工作。

这是一种“合法”的方法,可以修复Truffle (或任何其他npm包)中的bug,直到作者自己解决为止。

唯一的问题是,你遇到的问题远远不是一个bug。

票数 1
EN

Ethereum用户

发布于 2018-12-26 22:22:56

您可以使用truffle init --force

根据这个松露文档页面的说法:

您可以使用可选的强制方法来初始化当前目录中的项目,而不管它的状态如何(例如,即使它包含其他文件或目录)。这适用于init和unbox命令。小心,这可能会覆盖目录中存在的文件。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/49035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档