Macos dart2js没有抛出这样的文件或目录错误
很简单,我在/usr/local/bin/中有一个指向dart2js的链接,它在运行时会重复抛出错误 我跑 从终端运行dart2js时,我会看到Macos dart2js没有抛出这样的文件或目录错误,macos,terminal,dart,dart2js,Macos,Terminal,Dart,Dart2js,很简单,我在/usr/local/bin/中有一个指向dart2js的链接,它在运行时会重复抛出错误 我跑 从终端运行dart2js时,我会看到 ... /usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory /usr/local/bin/dart2js: line 9: 1=/Users/macbook/Developmen
...
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
... etc
我想我只是不正确地使用了链接,但我不知道为什么。我不久前遇到了这个问题并发布了这个问题 我还添加了一个变通方法,它可能对您的情况也有帮助-您可能需要对其进行一些调整,但它应该可以帮助您开始 我现在使用的一种解决方法是在与testscript.dart相同的目录中创建一个名为“testscript”的bash脚本,并改为链接到此脚本 我查找bash脚本的当前目录并启动dart脚本 () 我没有使用io.Platform.script获取命令的(符号链接)名称,而是将其作为参数传递,以使其在dart脚本中可用(我使用用于启动脚本的符号链接的名称,就像在dart脚本中使用参数一样) 这样,我必须区分脚本是否直接启动,否则使用io.Platform.script和args[0] 我认为这一切都应该容易些
这正是我们要做的工作。我会调查的,谢谢。
...
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
/usr/local/bin/dart2js: line 9: 1=/Users/macbook/Development/dart/dart-sdk/bin/dart2js: No such file or directory
... etc
#!/bin/bash
ME="$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")"
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
${DIR}/${ME}.dart ${BASH_SOURCE[0]}