mb1*_*b14 3 mysql macos mono f# nuget
我在OS X上尝试F#而我在安装软件包时遇到问题.我的问题是使用MySQL.我已经下载了Nuget,我可以启动它.但是,我没有找到任何有关如何在命令行上使用它的有用文档.
我设法MySQL.Data通过做安装
mono nuget.exe install MySql.Data
Run Code Online (Sandbox Code Playgroud)
将其下载到我当前的存储库.这是正常的吗?我期待它被"安装"在更中心的目录中.
而且,当我试图要求它时,r "MySql.Data它不起作用.如果我通过以下方式正确设置包含路径,它可以工作:
fsharpi --lib:MySql.Data.6.8.3/lib/net45
Run Code Online (Sandbox Code Playgroud)
但这似乎超级沉重.有没有办法自动在路径中添加所有已安装的nuget?
简答:不.
答案很长:是的,但这不是你所希望的.
可以让NuGet将已安装的库放在某个特定的位置.在Mac OS上,将以下内容添加到结尾处~/.config/NuGet/NuGet.Config
<configuration>
<config>
<add key="repositoryPath" value="/path/to/where/you/want/it/to/go" />
</config>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是,(a)NuGet仍然将DLL放在不同的目录中,因此仍然没有一个地方fsharpi可以找到它们.(b)无论如何fsharpi不尊重$MONO_PATH,Mono的规范方式添加到DLL搜索路径.
我最接近可行的解决方案fsharpi是:
每当你想要一个包时,手动将它添加到MONO_PATH(例如,in ~/.profile).例如,假设你告诉nuget把东西放进去/opt/nuget你会添加:
export MONO_PATH = $ MONO_PATH:/opt/nuget/MySql.Data.6.8.3/lib/net45
无论何时运行fsharpi,请明确提供它$MONO_PATH:
fsharpi -I:$ MONO_PATH
如果您觉得有冒险精神,那么您可以修改fsharpi脚本以自动包含$MONO_PATH.
我发现这不值得努力.简单地构建一个脚本,该脚本fsharpi以您当前正在处理的任何选项开头,是一个更实用的解决方案.
我是Mac上的F#程序员.我的生活就像是对已婚人士的非法恋情:我忍受所有的小琐事,因为我的心让我别无选择.
| 归档时间: |
|
| 查看次数: |
2585 次 |
| 最近记录: |