web-dev-qa-db-ja.com

WSL Ubuntu Distro |複製リポジトリで「許可されていない操作」を解決する方法

WindowsのサブシステムとしてUbuntu 18.04を実行しています。私は複数のPCでこれを行いましたが、この問題は一度もありませんでした。 git clone <repo>、そして私はこれを手に入れます:

Cloning into '<repo>'...
error: chmod on /mnt/c/Users/Efsta/Code/<repo>/.git/config.lock failed: Operation not permitted
fatal: could not set 'core.filemode' to 'false'

私は以下を試しました:

  1. ❯ git config core.fileMode false、この結果fatal: not in a git directory

  2. ❯ git config --global core.filemode false

  3. ❯ git config --add --global core.filemode false

何も動作しないようです。私はすでにここでいくつかの答えを試しましたが、WSLは少しトリッキーなようです。誰でもこれを解決する方法について何か考えがありますか?

私もこの質問のすべてを試しました: https://stackoverflow.com/questions/1580596/how-do-i-make-git-ignore-file-mode-chmod-changes 、何も思われない仕事に。

12
Dimitris Efst

/mnt/c/Users/...はWindows NTFSパーティション自体にあり、WSLのext4形式のシステム内にはありません。したがって、実際のUbuntuインストールのUSBスティック上のNTFSパーティションと同様に扱い、NTFSの制限を受け入れる必要があります。

NTFSパーティションchmodまたは同様のLinuxアクセス許可コマンドはサポートしていません、およびエラーは発生しないがアクセス許可を変更しない実際のUbuntuインストールとは異なり、WSLはこれを中継しませんここに表示されるように、情報はエラーになります。

Linux許可スキーマとchmodが正しく機能していないため、WSL内のgit cloneスペースに/mnt/c/...をまともな方法で実行することはできません。これは、現在の形式のWSLの制限です。

12
Thomas Ward

同じ問題がありました。これを試して:

Sudo umount /mnt/c
Sudo mount -t drvfs C: /mnt/c -o metadata

ドライブ文字を、問題が発生しているものに変更します。

27
Wojtek Grojec

私は同じ問題を抱えていました。私の解決策は、私のリポジトリをデフォルトのWSLの場所にgit cloneして(動作する)、Visual Studio Codeを使用してWSLのリポジトリにリモートアクセスすることです。そうすれば、/ mnt/cをまったく使用する必要がなくなります。

リンク: https://code.visualstudio.com/docs/remote/wsl

4
ZZX