89

Git Bash シェルからシンボリック リンクを作成しようとすると、毎回失敗します。

$ ln -s /c/Users/bzisad0/Work testlink
ln: creating symbolic link `testlink' to `/c/Users/bzisad0/Work': Permission denied

エラーメッセージを表示する以外に行うことは、 (この場合) という名前の空のディレクトリを作成することだけですtestlink

実行可能ファイルに問題はありませんln。たとえば、私が所有し、実行可能としてマークされています。

$ which ln
/bin/ln

$ ls -hal /bin/ln
-rwxr-xr-x    1 BZISAD0  Administ      71k Sep  5 11:55 /bin/ln

私は現在のディレクトリ ( ~、これは/c/Users/bzisad0) も所有しています。

$ ls -dhal .
drwxr-xr-x  115 BZISAD0  Administ      40k Sep  5 12:23 .

私には管理者権限があり、「管理者として実行」で Git Bash シェルを開こうとしましたが、違いはありません。

Windows のプロパティを開いてln.exe、特権レベルを「管理者としてこのプログラムを実行する」に設定しようとしましたが、役に立ちません。

Windows の [セキュリティ] -> [詳細プロパティ] に移動し、(管理者グループではなく) 自分自身を所有者にしましたが、それでも何も解決しません。

私は途方に暮れています。このエラー メッセージが最終的にln、Bash、Windows のどれから来ているのか、またはどのようにしてアクセス許可が不足している可能性があるのか​​ わかりません。どうすればこれの底にたどり着くことができますか?

4

9 に答える 9

66

私のセットアップでは、Windows 8.1 にインストールされた Git for Windows 2.11.0 がexport MSYS=winsymlinks:nativestrictここで説明されているように機能します: https://github.com/git-for-windows/git/pull/156 Git Bash シェルを起動することが重要ですWindows と同じように管理者として、管理者のみがシンボリック リンクを作成できます。したがって、tar -xf作業を行い、必要なシンボリックリンクを作成するには:

  1. 管理者として Git Bash シェルを実行する
  2. 走るexport MSYS=winsymlinks:nativestrict
  3. タールを実行
于 2016-12-01T15:19:48.210 に答える
3

Windows 10 Git Bash 2.28.0.0.1 でこれを達成する方法に興味がある人は、最初に実行するln -sのではなく、コマンドの前に を付ける必要があります。つまり、コマンドは 1 つだけです。MSYS=..export MSYS=..

 MSYS=winsymlinks:nativestrict ln -s <TARGET> <NEW_LINK_NAME>
于 2020-11-15T13:10:15.793 に答える
1

私は CMD よりも Powershell を好みます。これの powershell バージョンを共有したいと思います。

私の場合、ドットファイル構成用に ~/.$file を ~/dotfiles/$file にリンクするシンボリックリンクを作成することで構成されています。これをスクリプト内に配置.shし、git-bash で実行しました。

powershell New-Item -ItemType SymbolicLink\
    -Path \$Home/.$file\
    -Target \$Home/dotfiles/$file
于 2019-01-08T08:12:16.373 に答える