1

我已经在我的 linux 机器上安装了 Cloud9 IDE,以便稍微玩一下(我不得不使用 nodejs 0.8,因为 cloud9 使用了一个依赖于 node-waf 的包,更高版本的 nodejs 不再支持它)。

我可以毫无问题地启动它,但是当我尝试通过浏览器访问 Cloud9 时,它不断给我错误消息:File already exists.. 这是来自日志的跟踪:

Error: File already exists.
  at module.exports.from (/home/xyz/repos/cloud9/node_modules/vfs-local/localfs.js:678:35)
  at Object.fs.exists [as oncomplete] (fs.js:91:19)

相关代码部分:

exists(topath, function(exists){
                  if (options.overwrite || !exists) {
                      // Rename the file
                      fs.rename(frompath, topath, function (err) {
                          if (err) return callback(err);

                          // Rename metadata
                          if (options.metadata !== false) {
                              rename(WSMETAPATH + from, {
                                  to: WSMETAPATH + to,
                                  metadata: false
                              }, function(err){
                                  callback(null, meta);
                              });
                          }
                      });
                  }
                  else {
                      var err = new Error("File already exists.");
                      err.code = "EEXIST";
                      callback(err);
                  }

发生错误时,将topath变量设置为工作区设置文件 ( /home/xyz/repos/cloud9/workspace/.settings)

有没有其他人有这样的错误?我该如何解决?

提前谢谢

4

1 回答 1

1

重新安装 cloud9

第一个选项,也许您可​​以尝试使用此解决方法安装过程: https ://github.com/ajaxorg/cloud9/issues/2904#issuecomment-22518669

第二个选项,如果您愿意按照您的指示始终使用旧的节点版本来运行 cloud9,我使用以下安装过程并且它有效(假设您已经安装了nvm)。然后你仍然可以使用cloud9.sh -file 启动:

git clone git://github.com/ajaxorg/cloud9.git
cd cloud9
nvm install 0.8.8
sed -i -e 's/~//g' package.json
npm config set ca=""
npm install
sed -i s/connect.session.file/connect.session.memory/ configs/default.js 

不确定 0.8.8 是否是 cloud9 的最佳节点版本,但它适用于我 :) 最后一步似乎是必要的,因为https://github.com/ajaxorg/cloud9/issues/2005#issuecomment-11372587 :)

然后在启动 cloud9 之前,您始终必须输入:

nvm use 0.8.8

或者,如果您不经常使用节点,则将 0.8.8 设置为默认节点版本:

nvm alias default 0.8.8

无需重新安装即可解决问题

第三个选项,如果您不想重复安装过程,您可以尝试在 cloud9 目录中重新安装vfs-local -module:

npm install vfs-local@0.3.4

虽然没有测试过这个:)

于 2013-08-14T11:50:51.020 回答