繁体   English   中英

dart2js不会抛出此类文件或目录错误

[英]dart2js throwing no such file or directory error

很简单,我在/ usr / local / bin /中有一个指向dart2js的链接,该链接在运行时会引发重复的错误。

我跑了

sudo ln -s /Users/macbook/Development/dart/dart-sdk/bin/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/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

我想我只是错误地使用了链接,但是我不了解为什么。

我前一段时间遇到这个问题并发布了此问题无法使用符号链接运行dart命令行脚本

我还添加了一种变通办法,它也可能对您的情况有所帮助-您可能需要对其稍加调整,但它应该可以帮助您入门。

我现在使用的一种解决方法是在与testscript.dart相同的目录中创建一个名为'testscript'的bash脚本,并链接到该脚本

我查找bash脚本的当前目录并启动dart脚本( 从中获取Bash脚本的源目录 )。

#!/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]}

而不是使用io.Platform.script获取命令的名称(符号链接),我必须将其作为参数传递给它,以便在dart脚本中使用它(我使用了用于启动脚本的符号链接的名称,就像dart中的参数一样。脚本)这种方式我必须区分脚本是否直接启动,并使用io.Platform.script和args [0]。

我认为这应该更容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM