Cloud9 пытается воссоздать файл .settings

Я установил Cloud9 IDE на свой компьютер с Linux, чтобы немного поиграть с ним (мне пришлось использовать 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)

У кого-нибудь еще была такая ошибка? Как я могу решить эту проблему?

спасибо заранее


person DeX3    schedule 13.08.2013    source источник


Ответы (1)


Переустановка облака9

Первый вариант, возможно, вы могли бы попробовать использовать эту обходную процедуру установки: https://github.com/ajaxorg/cloud9/issues/2904#issuecomment-22518669

Второй вариант, если вы готовы всегда использовать более старую версию узла для запуска cloud9, как вы указали, я использовал следующую процедуру установки, и она сработала (при условии, что вы уже установили nvm). Тогда вы все еще можете использовать файл cloud9.sh для запуска:

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

Исправить проблему без переустановки

Третий вариант, если вы не хотите повторять процедуру установки, вы можете попробовать просто переустановить vfs-local-module в каталоге cloud9:

npm install [email protected]

Хотя не проверял :)

person robintibor    schedule 14.08.2013